{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch37\stshfhich37\stshfbi0\deflang2058\deflangfe2058\themelang2058\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f36\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f196\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\f197\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f199\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f200\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f201\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f202\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f203\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f204\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f206\fbidi \fswiss\fcharset238\fprq2 Arial CE;}
{\f207\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f209\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f210\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f211\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
{\f212\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f213\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f214\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f216\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
{\f217\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f219\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f220\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f221\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f222\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f223\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f224\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f536\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
{\f537\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f539\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f540\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f543\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
{\f556\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\f557\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\f559\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\f560\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
{\f563\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\f566\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f567\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f569\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}
{\f570\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f573\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
\red192\green192\blue192;\red105\green0\blue83;\red204\green51\blue153;\red165\green0\blue33;}{\*\defchp \f37 }{\*\defpap \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{
\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \snext0 \sqformat \spriority0 Normal;}{
\s1\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink15 \sqformat \spriority9 heading 1;}{
\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink16 \sqformat heading 2;}{
\s3\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink17 \sqformat heading 3;}{
\s4\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel3\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink18 \sqformat heading 4;}{
\s5\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel4\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink19 \sqformat heading 5;}{
\s6\ql \fi-360\li3960\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel5\rin0\lin3960\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink20 \sqformat heading 6;}{
\s7\ql \fi-360\li4680\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel6\rin0\lin4680\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink21 \sqformat heading 7;}{
\s8\ql \fi-360\li5400\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel7\rin0\lin5400\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink22 \sqformat heading 8;}{
\s9\ql \fi-360\li6120\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel8\rin0\lin6120\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext0 \slink23 \sqformat heading 9;}{\*\cs10 
\additive \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f37\fs20\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*
\cs15 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\f36\fs32\kerning32 \sbasedon10 \slink1 \slocked \spriority9 T\'edtulo 1 Car;}{\*\cs16 \additive \rtlch\fcs1 \ab\ai\af0\afs28 \ltrch\fcs0 \b\i\f36\fs28 
\sbasedon10 \slink2 \slocked \ssemihidden \spriority9 T\'edtulo 2 Car;}{\*\cs17 \additive \rtlch\fcs1 \ab\af0\afs26 \ltrch\fcs0 \b\f36\fs26 \sbasedon10 \slink3 \slocked \ssemihidden \spriority9 T\'edtulo 3 Car;}{\*\cs18 \additive \rtlch\fcs1 
\ab\af0\afs28 \ltrch\fcs0 \b\fs28 \sbasedon10 \slink4 \slocked \ssemihidden \spriority9 T\'edtulo 4 Car;}{\*\cs19 \additive \rtlch\fcs1 \ab\ai\af0\afs26 \ltrch\fcs0 \b\i\fs26 \sbasedon10 \slink5 \slocked \ssemihidden \spriority9 T\'edtulo 5 Car;}{\*\cs20 
\additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \sbasedon10 \slink6 \slocked \ssemihidden \spriority9 T\'edtulo 6 Car;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \fs24 \sbasedon10 \slink7 \slocked \ssemihidden \spriority9 T\'edtulo 7 Car;}{\*
\cs22 \additive \rtlch\fcs1 \ai\af0\afs24 \ltrch\fcs0 \i\fs24 \sbasedon10 \slink8 \slocked \ssemihidden \spriority9 T\'edtulo 8 Car;}{\*\cs23 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f36 \sbasedon10 \slink9 \slocked \ssemihidden \spriority9 
T\'edtulo 9 Car;}{\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
\sbasedon0 \snext24 \ssemihidden \sunhideused \styrsid9375469 Normal (Web);}{\*\cs25 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \ssemihidden \sunhideused \styrsid9375469 Hyperlink;}{\s26\ql \li0\ri0\widctlpar
\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 
\f2\fs20\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 \sbasedon0 \snext26 \slink27 \sunhideused \styrsid9375469 HTML Preformatted;}{\*\cs27 \additive \rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20 \sbasedon10 \slink26 \slocked \styrsid9375469 
HTML con formato previo Car;}{\*\cs28 \additive \rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20 \sbasedon10 \ssemihidden \sunhideused \styrsid9375469 HTML Typewriter;}{\*\cs29 \additive \rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20 
\sbasedon10 \ssemihidden \sunhideused \styrsid9375469 HTML Code;}}{\*\listtable{\list\listtemplateid-371977576\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext
\'01*;}{\levelnumbers;}\hres0\chhres0 }{\listname ;}\listid-2}{\list\listtemplateid1097077328{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}
\f3\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 
\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2160
\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2880
\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li3600
\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li4320
\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5040
\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5760
\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li6480
\jclisttab\tx6480\lin6480 }{\listname ;}\listid42876852}{\list\listtemplateid823409234{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 
\ltrch\fcs0 \hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid63990704}{\list\listtemplateid-558302980{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01\u-3913 ?;}{\levelnumbers;}\f3\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}
\f2\fs20\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid142623974}{\list\listtemplateid1774223542{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01\u-3913 ?;}{\levelnumbers;}\f3\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}
\f2\fs20\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
\f10\fs20\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid793673353}{\list\listtemplateid-752031158{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}
\f2\fs20\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 
\fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li2880
\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid919288381}{\list\listtemplateid-1218569540{\listlevel\levelnfc23\levelnfcn23\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1031875859}{\list\listtemplateid-1962636318{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1833910371}{\list\listtemplateid126765148{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid2062436293}}{\*\listoverridetable{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f1\fs40\fbias0 }}\ls1}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'96;}{\levelnumbers;}\f1\fs36\fbias0 }}\ls2}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f1\fs36\fbias0 }}\ls3}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'96;}{\levelnumbers;}\f1\fs32\fbias0 }}\ls4}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f1\fs28\fbias0 }}\ls5}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f1\fs32\fbias0 }}\ls6}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'96;}{\levelnumbers;}\f1\fs24\fbias0 }}\ls7}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'96;}{\levelnumbers;}\f1\fs28\fbias0 }}\ls8}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'96;}{\levelnumbers;}\f1\fs40\fbias0 }}\ls9}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f1\fs24\fbias0 }}\ls10}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f1\fs26\fbias0 }}\ls11}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\'bb;}{\levelnumbers;}\f1\fs24\fbias0 }}\ls12}{\listoverride\listid63990704\listoverridecount0\ls13}{\listoverride\listid1833910371
\listoverridecount0\ls14}{\listoverride\listid793673353\listoverridecount0\ls15}{\listoverride\listid1031875859\listoverridecount0\ls16}{\listoverride\listid142623974\listoverridecount0\ls17}{\listoverride\listid919288381\listoverridecount0\ls18}
{\listoverride\listid2062436293\listoverridecount0\ls19}{\listoverride\listid42876852\listoverridecount0\ls20}}{\*\revtbl {Unknown;}}{\*\pgptbl {\pgp\ipgp4\itap0\li720\ri720\sb100\sa100}{\pgp\ipgp9\itap0\li720\ri720\sb100\sa100}{\pgp\ipgp4\itap0\li720\ri720\sb100\sa100}
{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li720\ri720\sb100\sa100}{\pgp\ipgp4\itap0\li720\ri720\sb100\sa100}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid6907914
\rsid9375469\rsid9506129\rsid10452240\rsid11103517\rsid11280128\rsid12014305\rsid12456491\rsid13071873\rsid13325312\rsid16327987}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0
\mnaryLim1}{\info{\operator Felipe Nava}{\creatim\yr2010\mo4\dy10\hr14\min58}{\revtim\yr2010\mo4\dy11\hr16\min7}{\version1}{\edmins74}{\nofpages86}{\nofwords15562}{\nofchars85227}{\nofcharsws100588}{\vern32771}}{\*\xmlnstbl {\xmlns1 http://schemas.microso
ft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1701\margr1701\margt1417\margb1417\gutter0\ltrsect 
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale120\rsidroot13325312 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 
\fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Genero Language Basics}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 

\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs12 \ltrch\fcs0 
\b\f1\fs12\ul\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 CHAPTER 1: Genero BDL Concepts
\par        TOPICS:
\par }\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 -BDL Overview
\par -The Language
\par -The User Interface
\par -Compiling a Genero BDL Application
\par -Deploying a Genero BDL Application
\par -Resources for the Programmer
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 
\b\f1\fs28\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 CHAPTER 2: Using Genero BDL
\par         TOPICS:
\par }\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 -A simple BDL Program
\par -The connect to Database Program
\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 
\b\f1\fs24\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 CHAPTER 3: Record Display
\par         TOPICS:
\par }\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 -Interacting with the User
\par }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 -Working with Records and Forms }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 -The Form Specification File}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 -Compiling the Program and Form}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs28 
\ltrch\fcs0 \f1\fs28\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }\pard \ltrpar\s3\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin0\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 CHAPTER 4: Searching a Database}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312           TOPICS:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312           -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Query-by-Example}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312             -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Cancelling the Search}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312             -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Retrieving Database Data }{\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312             -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Compiling and Linking the Program }{\rtlch\fcs1 
\af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312             -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Handling Errors }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 CHAPTER 5: GUI Options}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312           TOPICS:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312             -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Adding a Toolbar }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312             -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Adding a Topmenu }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312             -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Adding a COMBOBOX Form Item }{\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312             -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Customizing the Windows  }{\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312                         -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Managing Actions}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312                         -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 Action Defaults}{\rtlch\fcs1 \af0 
\ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 CHAPTER 6: Add/Update/Delete}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 TOPICS:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312      \tab -Entering Data on a Form}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312     \tab -Updating Database Tables}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312      \tab -Adding a New Row}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 \tab -Updating an Existing Row}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 \tab -Deleting a Row}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 CHAPTER 7: Display Multiple Rows (Array)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312           TOPICS:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 \tab -Defining the Form}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 \tab -Creating the Array}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 \tab -Displaying the Array}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 \tab -Creating a Library}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 \tab -Paged Mode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }\pard \ltrpar\ql \fi-720\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid10452240 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 
CHAPTER 8: Input Multiple Rows }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312        TOPICS:}{
\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -Input Array Statement}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -Unbuffered attribute}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -Count}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }\pard \ltrpar\ql \fi-720\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid10452240 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 
         -Control Block }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13325312 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -Arr_Curr }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -Predefined Actions }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312 CHAPTER 9: Reports }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang3082\langfe2058\langnp3082\insrsid13325312\charrsid13325312        TOPICS:}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312  }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -The Report Driver}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -The Report Definition}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -Two-pass Reports}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312          -Interrupting a Report}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13325312\charrsid13325312 
\par 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2058\langnp1033\insrsid13325312\charrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 
\b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 
\b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Chapter 1: Genero BDL Concepts
\par }\pard \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 BDL Overview}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 
\b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This chapter introduces the Genero Business Development Language (BDL).}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 

\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Genero Overwiew
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You typically use Genero to build an }{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 interactive database application}{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
, a program that handles the interaction between a user and a database. The database schema that organizes data into relational tables gives shape to one side of the program.
 The needs of your user shape the other side. You write the program logic that bridges the gap between them. You express the logic of your application with Genero BDL statements in program source files }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 The Language}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Language
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Genero BDL is a high-level, fourth generation language with an open, readable syntax encouraging an individual or group programming style. You write your program logic in text files, or }{
\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 program source modules}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
, which are compiled and linked into programs that can be executed by the Runtime system 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs28 
\ltrch\fcs0 \b\f1\fs28\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying Data to the User 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Entering and Changing Data}{
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Searching the Database (Querying)

\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Responding to User Actions}{
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying Data to the User 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 In Genero, programs manipulate Window and Form objects to define display areas for interactive statements within your program 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The OPEN WINDOW statement creates and opens a new window on the user's screen 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
With the OPEN WINDOW ... WITH FORM statement you open a window on the screen, load a compiled form from disk into memory, and make it ready for use 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Use the DISPLAY statement to display data in a record in a form 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Use the interactive DISPLAY ARRAY statement to allow the user to view the contents of an array of records }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang1034\langfe2058\langnp1034\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 The Language}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Entering and Changing Data }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The INPUT statement is an interactive
 statement (dialog) that enables the fields in a form for input, waits while the user types data into the fields, automatically assign the data to program variables, and proceeds after the user accepts or cancels the dialog. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Searching the Database (Querying) 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Genero BDL lets you accept input from the user in multiple ways. Instead of literal values for the program to process, the user can enter search criteria for a query 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The interactive CONSTRUCT statement allows the user to enter a value, or a range of values, for one or several form fields,\~ and your program looks up the database rows that satisfy the requirements 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Responding to User Actions 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 An action (a set of instructions) can be defined and triggered by the user 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Graphical objects on the application
 window, such as buttons, toolbars, and pulldown menus (known as }{\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 action views),}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  correspond to the actions defined in the program 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
In your program, the interactive MENU statement, or the ON ACTION clause of interactive instructions such as INPUT, INPUT ARRAY, CONSTRUCT and DISPLAY ARRAY, define the list of actions that can be triggered 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 The User Interface}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 This topic Discusses:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Designing Forms
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The Abstract User Interface Tree

\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Programming the Abstract User Interface}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Designing Forms 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Forms are portable across applications and platforms 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The XML-based application screen can be defined in form specification files: Since form files are separate from the other parts of your program, the }{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Runtime Form Files}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  can be used with different programs 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The arrangement of field
s, labels, other form objects, and the behavior of the form as the user presses different keys or buttons, and selects different menu options, creates the personality of the program 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can design your form to group objects in horizontal and vertical boxes, display it as a folder of pages, and use menus, toolbars, or buttons to trigger actions 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You define the application screens, or}{
\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 forms, in }{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 
\i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Form Specification Files,}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  created using a text editor 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 The User Interface}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The Abstract User Interface Tree 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The Genero Runtime System creates the Abstract User Interface tree, and the Genero Client (front end) makes this abstract tree visible on the screen 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When a user interaction statement takes control of the application, the copy of the tree on the Genero Client is automatically synchronized with the Runtime system tree by the }{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 
\i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Front End Protocol}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , an internal protocol used by the Runtime System 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The Front End Protocol defines a simple set of operations to edit the Abstract User Interface tree
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Compiling a Genero BDL Application}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compiling}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 
\b\f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Database Schema Files
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Form Specification Files
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Compiling a Genero BDL Application}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Compiling 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Your Genero BDL program can consist of a single source code module, but generally you will have multiple modules, form s
pecification files, and perhaps localized string files. Database schema files are also required if you have defined data types and variables in an existing database column or table using the DEFINE ... LIKE statement 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The tools that Genero uses to compile 
the various application files, the file extensions of the source code, and\~the corresponding compiled files, are listed below 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Compiling a Genero BDL Application}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The Genero BDL source code }{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 compiler}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  generates hardware-independent pseudo-machine code (P-code). 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This code is not directly executable by the operating system or GUI, but can be interpreted by the Genero BDL }{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 runner }{\rtlch\fcs1 \af1\afs36 
\ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 (usually named }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 fglrun}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ). 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The compiled P-code modules are binary. 

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The files are not printable or editable as text. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The compiled source
 code modules can be linked into a program executed by the Runtime System, or into a library that can be linked into other programs}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Compiling a Genero BDL Application}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Compiling and Building Applications from the command-line 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Tool fglcomp: Module compiler}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This tool compiles a program source module (extension .4gl) into a pseudo-code version. The compiled module has an extension of }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 
\b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .42m}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .\~ If the compilation fails, a text file flagging the errors is created.\~
 The error file has an extension of }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .err}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .
\par }\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 I
f your program consists of more than one module, the modules must be linked together prior to execution.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Tool fgllink: Module linker}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This tool assembles multiple p-code modules compiled with fglcomp into a single }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .42r}{
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  program or a }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .42x}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  library. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Compiling a Genero BDL Application}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Tool fgl2p: Program compiler}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This tool is provided to create programs or libraries in one command line. It uses the }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
fglcomp}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  and the }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 fgllink}{\rtlch\fcs1 \af1\afs28 
\ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  tools to compile and link modules together. If compilation of any of the modules fails, the file <}{\rtlch\fcs1 \ai\af1\afs28 \ltrch\fcs0 
\i\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 modulename}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 >.err is created. 
\par }\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Note: Windows or Unix-based }{\rtlch\fcs1 \ab\ai\af1\afs36 \ltrch\fcs0 \b\i\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 makefiles}{\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312  may be used as well, to automate the process of compiling and linking programs 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Compiling a Genero BDL Application}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Database Schema Files
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Database Schema Files are used during program compilation to define data types, default values, display attributes and validation rules for form fields and program variables 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Database schema files are generated from the database system tables.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The generated file\~ is }{\rtlch\fcs1 
\ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 <database>.sch}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 . 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The
 SCHEMA statement in program source files and form files identifies the database schema file to be used 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The FGLDBPATH environment variable can be used to define a list of directories where the compiler can find database schema files. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You must generate da
tabase schema files each time the database structure changes, before compiling any other parts of your application 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Generating a schema from the command line 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The Schema Extractor (}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 fgldbsch)}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  is the tool provided to generate the database schema files from a database 
\par }\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid11280128 1.5 }{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Deploying a Genero BDL Application}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 
\b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Deployment 
\par }\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The following program files must be deployed at the user site: 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .42r}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 
\b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .42x, .42m}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : Executable programs and libraries, and p-code modules 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .42f: }{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Runtime Form Files 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .42s: }{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compiled Localized String Files, if used in your applications 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .4ad}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .4st, .4sm: }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 These default XML files, provided with Genero, must be distributed with the runtime system files;\~if you have customized these files, or created your own versions, your versions must be deplo
yed instead 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\insrsid13325312 Resources for the programmer}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Documentation 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Business Development Language Manual (User Guide)}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The following pages from the User Guide\~ may be especially helpful in understanding the Genero BDL language: 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Dynamic User Interface 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Windows and Forms 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Programs 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Connections 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Transactions 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 SQL Programming 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Built-In Classes 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The following pages from the User Guide may be especially helpful if you are migrating an application from an earlier product 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 New Features 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Tools and Components 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ODI Adaptation Guides 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 version-specific Migration Issues\~ 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 FAQs 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 
{\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\insrsid13325312 
Code examples
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Short example programs in the }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 demo}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  subdirectory of the BDL software installation directory illustrate the use of Genero BDL features; these programs may be compiled and executed 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Setting up The Course Environment}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 1.1
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Your instructor will show you the custdemo database on the training server :
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 
{\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 
Please have a look at LABS folder, there you can see:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 
Custdemo.sql.- database tables
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 Loadcust.sql.- data for loading
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 Loadmanycust.4gl .- alternative genero program for loading data
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 
{\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 
If you prefer, create and load the custdemo database on you own server 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 
{\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 Create a schema file for the custdemo database
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 
Fgldbsch or fglschema }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 
Create a shortcut on your desktop to the Genero BDL Documentation}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Chapter 2: Using Genero BDL}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Using Genero BDL

\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9506129 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 
\f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1034\langfe2058\langnp1034\insrsid9506129\charrsid9506129 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This chapter provides a summary of creating a\~ simple BDL program 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
Two example programs illustrate program flow control, the definition of variables, basic BDL statements,\~ and interaction with a database.\~ }{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Guidelines for writing BDL programs}{
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Genero BDL source code is written as text in a source module (a file with a filename extension of }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 
\b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .4gl }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ). 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
BDL statements do not require a statement terminator. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You can begin a }{\rtlch\fcs1 
\ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 comment}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  that terminates at the end of the current line with a
 pair of minus signs ( -- ).\~ Curly braces \{ \} can be used to delimit comments that occupy multiple lines. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
All white space in a source code module is treated as a single space, so you are free to use indentations and white space for clarity. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Although the
 language keywords in this example and throughout the tutorial are in all-capitals,\~ this is just a convention used in these documents. You may write keywords in lowercase, or any combination of capitals and lowercase you prefer. }{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 A simple BDL Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 BDL Program Structure 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A Simple BDL Program
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Compiling and Executing Genero BDL Programs}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 A simple BDL Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 BDL Program Structure:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Because Genero BDL is a structured programming language as well as a 4th generation language, executabl
e statements can appear only within logical sections of the source code called program blocks. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This can be the MAIN statement, a FUNCTION statement, or a REPORT statement. Reports are discussed in }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Chapter 9}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 . 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Execution of any program begins with the special, required program block MAIN}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 delimited by the keywords MAIN and END MAIN 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The source module that contains MAIN is called the main module 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The FUNCTION statement is a unit of executable code, delimited by FUNCTION and END FUNCTION,\~ that can be called by name.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
A small program, you can write all the functions used in the program in a single file. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Functions are available on a global basis. In other words, you can reference any function in any source module of your program. 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 A simple BDL Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 2.1
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A simple BDL Program:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This simple example illustrates a small but complete Genero BDL program, }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 simple.4gl}{
\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , that}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 displays a text message to the screen
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson2\'94. There you will find the simple BDL program
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93simple.rtf\'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 A simple BDL Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 
LAB 2.2 (optional)}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compiling and Executing the simple program:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 
{\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 
FROM GENERO STUDIO PROJECT VIEWER}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Select the program in the Browser Panel\~
 and right-click to display the contextual menu. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Choose}{\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  Build}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  or }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 
\b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Execute Application}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 A simple BDL Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The output from compiling\~ is displayed in the Output panel at the bottom of the Project Viewer window 
\par }\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If there are any compilation errors, an Error list tab opens to let you navigate through the errors. Double-clicking a compile error opens the Code Editor at the current line 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 A simple BDL Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 2.3
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compiling from the command line:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 To create the pseudo-code module simple.42m; if there are compile errors, the file simple.err is created 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \ab\ai\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\ai\af1\afs32 
\ltrch\fcs0 \b\i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 fglcomp simple.4gl}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 To execute the single-module program.
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \ab\ai\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\ai\af1\afs32 
\ltrch\fcs0 \b\i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 fglrun simple.42m}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312   
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Connect to Database Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The \'93Connect to Database\'94 Program  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Database Interaction
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\insrsid13325312 Variable Definition}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 
\b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Variable Scope
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Passing Variables
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Retrieving Data from a Database

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Code Example}{\rtlch\fcs1 \af1\afs36 
\ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Connect to Database Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The "Connect to Database" Program 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This program illustrates connecting to a database and retrieving data, defining variables, and passing variables between functions. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A row from the customer table of the
 custdemo example database is retrieved by an SQL statement and displayed to the user.}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \~}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Connect to Database Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Database Interaction  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A Database Connection is a work session, opened by the program to communicate with a specific database server, in order to execute SQL statements as a specific user. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
To connect to a database server, most database engines require a name to identify the server, a name to identify the database entity, a user name and a password.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Connecting through the Open Database
 Interface, the database can be specified directly, and the specification will be used as the data source. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
 You can also define the database connection parameters indirectly in the FGLPROFILE configuration file, and the database specification will be used as a key to read the connection information from the file.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The CONNECT instruction opens a session in multi-session mode 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If you have multiple connections open, use the SET CONNECTION instruction to switch to a specific session 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Use the DISCONNECT instr
uction to disconnect from specific sessions, or from all sessions. 
\par }\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\insrsid13325312 
\par 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\ai\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\ai\af1\afs36 
\ltrch\fcs0 \b\i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 CONNECT TO "custdemo"}{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \ab\ai\af1\afs36 \ltrch\fcs0 
\b\i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\ai\af1\afs36 \ltrch\fcs0 \b\i\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Connect to Database Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Variable Definition   
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A Variable contains volatile information of a specific BDL}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs36 
\ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 data type. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Variables must be declared before yo
u use them in your program, using the }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf18\lang3082\langfe2058\langnp3082\insrsid13325312 DEFINE }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 statement}{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf18\lang3082\langfe2058\langnp3082\insrsid13325312 .\~}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312   
\par }\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\ai\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\ai\af1\afs36 
\ltrch\fcs0 \b\i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 DEFINE cont_ok INTEGER}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 
\i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 {\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf1\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Use the LIKE keyword to declare a variable that has the same data type as a specified column in a database schema. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The column data type defined by the database schema must be supported by the language. 
\par }\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\ai\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\ai\af1\afs36 
\ltrch\fcs0 \b\i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 DEFINE store_name LIKE customer.store_name}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\ai\af1\afs36 \ltrch\fcs0 \b\i\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Connect to Database Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Variable Scope   
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Variables defined in a FUNCTION, REPORT or MAIN program block have }{\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 local scope}{\rtlch\fcs1 
\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  (are known only within the program block).\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 DEFINE statement declares the variables and causes memory to be allocated for them.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
DEFINE must precede any executable statements within the same program block. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A Variable defined with }{\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 modular scope}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  can have its value set and can be used in any function within a single source-code module.
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The DEFINE statement must appear at the top of the module, before any program blocks.   
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Memory for module variables is allocated statically, when the program starts, and is released when the program ends. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A Variable with }{\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 local}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  scope can have its value set and can be used only within the function in which it is defined. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The DEFINE statement must be the first statement in the function.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Memory for the variable is allocated when the function is called by a program, and is released when the function ends. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A variable defined with }{\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 global}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  scope can have its value set and can be used in any function within the entire program. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The DEFINE statement must appear within a GLOBALS program block. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The memory for global variables is a
llocated statically when the program starts, and released when the program ends. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A compile-time error occurs if you declare the same name for two variables that have the same scope. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 However, you can declare the same name for variables that differ in their scope. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Connect to Database Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Passing Variables   
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Functions are invoked using the CALL statement. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Variables can be passed as arguments to a function when it is invoked. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The parameters can be variables, literals, constants, or any valid expressions. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Arguments are separated by a comma. 

\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the function returns any values, the RETURNING clause of the CALL statement assigns the returned values to variables in the calling routine.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The number of input and output parameters is static. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The function that is invoked must have a RETURN instruction to transfer the control back to the calling function and pass the return values. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The number of returned values must correspond}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 to the number of variables listed in the RETURNING clause of the CALL statement invoking this function. 
\par }\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 
\par }{\rtlch\fcs1 \ab\ai\af1\afs32 \ltrch\fcs0 \b\i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 CALL myfunc() 
\par CALL newfunc(var1) RETURNING var2 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Connect to Database Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Retrieving Data from a Database    
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using Static SQL, an embedded SQL SELECT statement can be used to retrieve data from a database table into program variables. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the SELECT statement returns only one row of data, you can write it directly as a procedural instruction, using the INTO clause to provide the list of variables where the column values will be fetched. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If the SELECT statement returns m
ore than one row of data, you must declare a database cursor to process the result set. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Connect to Database Program}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 2.4
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Connect to Database Program
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson2\'94. There you will find the simple BDL program called \'93connectdb.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93connectdb.rtf\'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Chapter 3: Record Display}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Record Display}{
\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The example program in this chapter opens a WINDOW containing a FORM that displays information to the user. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The options to retrieve da
ta or exit are defined in a MENU statement, and displayed as buttons on the form.
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
When the user presses the "query" button, an SQL SELECT statement retrieves a single row from the customer table and displays it on the form.
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 A FORM contains form fields for 
entering and displaying data; explanatory text; and buttons, drop-down menus, folders, tables, checkboxes, images, and other form objects (referred to as }{\rtlch\fcs1 \ab\ai\af1\afs32 \ltrch\fcs0 
\b\i\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 views}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 ) \~  }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 
\b\f1\fs32\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Interacting with the User}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Opening Windows and Forms 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying Messages to the User

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using Menus}{\rtlch\fcs1 \af1\afs36 
\ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Interacting with the User}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Opening Windows and Forms
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Use the OPEN WINDOW ... WITH FORM instruction to automatically open a window containing a specified form: 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 OPEN WINDOW custwin WITH FORM "custform" 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When using a graphical front end, windows are created as independent, resizable windows. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
By default, windows display as normal application windows, but you can specify a Presentation Style 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The default Presentation Style file (FGLDIR/lib/default.4st) defines the standard window styles. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the WITH FORM option is used to open a window, the CLOSE WINDOW statement closes both the window and the form: 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CLOSE WINDOW custwin }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When the runtime system starts a program, it creates a default window named SCREEN}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
. This default window can be used as another window, but it can also be closed if not needed: 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CLOSE WINDOW SCREEN}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Interacting with the User}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying Messages to the User
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Use the MESSAGE and ERROR statements to display text messages to the user.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Text is displayed in a specific are
a, depending on the front end configuration and window style. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The MESSAGE text is displayed until it is replaced by another MESSAGE statement or field comment.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can specify any combination of variables and strings for the text.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 BDL generates the mess
age by replacing any variables with their values and concatenating the strings.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using the double pipe ( || ) as the concatenation symbol:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs28 
\ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 MESSAGE "Customer " || l_custrec.store_num || " retrieved." 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using the comma ( , ) as the concatenation symbol: 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs28 
\ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 MESSAGE "Customer " , l_custrec.store_num , " retrieved."}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Interacting with the User}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Using Menus
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Forms can display options such as buttons, drop-down menus (Topmenus), Toolbars, and other objects (}{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 
\i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 action views)}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  in the window. An action\emdash an executable program routine\emdash 
can be associated with each action view. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
In your BDL program, you can use the interactive MENU statement to supply the list of actions and the statement, or block of statements, to execute. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using an ON ACTION clause to define the action name and the statements to execute for the action: 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 ON ACTION query 
\par \tab \tab CALL query_cust()
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The ON ACTION clause can also be used with other interactive statements such as INPUT, INPUT ARRAY, etc.
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using a COMMAND clause to define the text to be displayed, an optional help comment, and the action (statements to be executed):\~ 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Interacting with the User}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 COMMAND may not be used with other interactive statements, and no additional decoration can be defined for the action.
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The COMMAND clause can be used in non-graphical applications to define key sequences for an action.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You can nest MENU statements within MENU control blocks, so that the menus form a "tree" hierarchy. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When the MENU statement in your program is executed, the action views for the actions listed in the MENU statement are enabled. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Only the action views in the specific MENU statement are enabled, so you must include a method for exiting the MENU statement. 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Interacting with the User}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 3.1
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Connecting to a Database
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson3\'94. There you will find the simple BDL program called \'93dispcust.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 dispcust
}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 .rtf\'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Working with Records and Forms}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Defining a record 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying a record}{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Working with Records and Forms}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Defining a Record
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 In addition to defining individual variables, the DEFINE statement can define a record, a collection of variables each having its own data type and name. 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 DEFINE custrec RECORD 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 store_num CHAR(5) 
\par store_name CHAR(20) 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 \tab     END RECORD}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A record can also contain variables for the columns of a database table: 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 DEFINE custrec RECORD\~\~\~\~\~\~\~\~\~\~\~ 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 store_num\~ LIKE customer.store_num \~\~\~\~ 
\par store_name LIKE customer.store_name \~\~\~\~\~\~\~\~\~\~ 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 END RECORD}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This string defines a record that includes members that match the data type in all columns for a database table. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 it's best to list each member individually, so that a change in the structure of the database table won't break your code. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The record can also contain members that are not defined in the terms of a database table. 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Working with Records and Forms}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying a Record
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Access any member of a record by writing the name of the record, a dot, and the name of the member; use the asterisk to denote all members of a record: 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 DISPLAY custrec.store_num}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying a Record in a Form 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Use the names of database columns as the names of both the members of a program record and the fields in a form.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Use the DISPLAY BY NAME statement to display program variables in the form.  
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 DISPLAY BY NAME custrec.*
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Working with Records and Forms}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The program variables serve as the intermediary between the database and the form displayed to the user. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
An SQL SELECT statement retrieves the values for the program variables from a row in the database, and displays them in the form.
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Working with Records and Forms}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 3.2
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Retrieving a Row
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson3\'94. There you will find the simple BDL program called \'93dispcust.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
dispcust_fquery_cust}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 .rtf\'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Form Especification File}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Use the form specification file to specify a form's layout. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This file is compiled separately from your program 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
form specification file defines the initial settings for the form, which can be changed at runtime.\~
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Form specification fi
les can be defined using a text editor (the file should have the extension }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .per}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ). 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The structure of the form is independent of the form's use. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The SCHEMA Section (optional) 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The ACTION DEFAULTS Section
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\insrsid13325312 Layout Section
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\insrsid13325312 Tables Section
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\insrsid13325312 Attributes Section
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\insrsid13325312 Instruction Section}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Form Especification File}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The SCHEMA Section (optional) 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This specifies the database schema file to be used when the form is compiled. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
It is required if any form items are defined as data types based on a column of a database table. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The ACTION DEFAULTS, TOPMENU, and TOOLBAR Sections (optional) 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Use these sections to define the decoration for action views (action defaults), as well as to define Topmenus and Toolbars for the form. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 External XML files can also be crea
ted to contain your definitions; in that case, they can be applied to any form. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Form Especification File}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The LAYOUT Section
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This section defines the appearance of a form using a layout tree of containers, which can hold other containers or define a screen area. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Some of the available containers include GRID, VBOX, HBOX, GROUP, FOLDER, and PAGE. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Within a GRID container, for example,\~
 you can specify the position of LABELS, form fields, additional form items or interactive objects such as BUTTON, COMBOBOX,\~CHECKBOX,\~RADIOGROUP, PROGRESSBAR}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 
\b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 etc.\~
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Form fields are form items the program uses to display data and take input.\~  
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The TABLES Section (optional) 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If any of the form fields reference a database column,\~ the table must be listed in the TABLES section 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
A default screen record is automatically created for the form fields associated with each table listed in this section.
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Form Especification File}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The ATTRIBUTES Section 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The ATTRIBUTES section defines properties of the form fields, buttons, and other items used in the form. 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 You can}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Define acceptable input values, on-screen comments, and default values for fields 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Ensure that a value is entered in the field during the input of a new row (REQUIRED) 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Specify columns in a table as sortable or non-sortable 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Format numbers and dates for display 

\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Define data entry patterns 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Upshift or downshift input data \~  

\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The INSTRUCTIONS Section (optional) 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Use the INSTRUCTIONS section to define explicit screen records or screen arrays. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Working with Records and Forms}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 3.3
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Defininig the Form Especification
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson3\'94. There you will find the simple BDL program called \'93dispcust.per\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
dispcust_form}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 .rtf\'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Form Especification File}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Compiling the FORM/PROGRAM 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You can compile the form specification separately; your program will automatically use the latest compilation of the form.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When you compile a form specification file, an XML file with a }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .42f}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  file extension is generated. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The runtime
 system uses this file along with your programs to define the Abstract User Interface.
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Working with Records and Forms}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 3.4
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \f1\fs40\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls9\pnrnot0\pnf1\pnfs40 {\pntxtb \'96}}\faauto\ls9\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 
\f1\fs40\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compiling the Form/Program 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compile the form
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 fglform dispcust.per 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compile the single module program: 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 fglcomp dispcust.4gl 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Execute the program: 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 fglrun dispcust.42m 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Chapter 4: Searching a Database}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 
Searching a Database}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This program\~ implements query-by-example, using the CONSTRUCT statement to allow the user to enter criteria in a form.
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The cri
teria is used to build an SQL SELECT statement that will retrieve rows from the customer database table. }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
A SCROLL CURSOR is defined in the program, to allow the user to scroll back and forth between the rows of the result set.\~ }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The SQLCA.SQLCODE is used 
to test the success of the SQL statements. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
Handling errors, and allowing the user to cancel the query, is also discussed
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Query-by-Example}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Implementing Query-by-Example}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 
\b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using CONSTRUCT and STRING Variables

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Preparing the SQL Statement}{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Query-by-Example}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs28 
\ltrch\fcs0 \b\f1\fs28\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Implementing Query-by-Example
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0
\pnf1\pnfs24 {\pntxtb \'96}}\faauto\ls7\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Query-by-Example allows users to enter a value or a range of values for one or several form fields. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0
\pnf1\pnfs24 {\pntxtb \'95}}\faauto\ls10\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The program looks up the database rows that match the criteria entered in the form fields. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0
\pnf1\pnfs24 {\pntxtb \'95}}\faauto\ls10\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The BDL statement that makes this possible is CONSTRUCT. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0\pnf1\pnfs24 {\pntxtb \'96}}
\faauto\ls7\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\insrsid13325312 Steps:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs26 
\ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Define fields linked to database columns in a form specification file.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Define a STRING variable in your program to hold the query criteria. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Display the form.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Activate the form with the interactive dialog statement CONSTRUCT, for entry of the query criteria. Control is turned over to the user to enter his criteria. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The user enters his criteria in the fields specified in the CONSTRUCT statement.\~ The CONSTRUCT statement accepts logical operators in any of the fields to indicate ranges, comparisons, sets, and partial matches.\~
 Using the form in this program, for example, the user can enter a specific value, such as }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 IL}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  in the }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 state}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  field, to retrieve all the rows from the }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 customer}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  table where the }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 state}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  column = }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 IL}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .\~Or he can enter relational tests (such as}{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  > 103}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , in the }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Store #}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  field) to retrieve only those rows where the }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 store_num}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  column is greater than }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 103}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .\~\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
After entering his criteria, the user selects }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 OK}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
, to instruct your program to continue with the query, or }{\rtlch\fcs1 \ab\af1\afs26 \ltrch\fcs0 \b\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Cancel}{\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 
\f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  to close the dialog.\line In this program, the action views for accept (OK) and cancel are displayed as buttons on the screen.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the user selects OK, the CONSTRUCT statement creates a Boolean expression by generating a logical expression for each field with a value and then applying unions (and relations) to the field statements.\~ This expression is stored in the\~
 string variable that you specified in the CONSTRUCT statement.\~\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can then use the Boolean expression to create a new STRING variable containing the complete SELECT statement.\~
 You must supply the WHERE keyword to convert the Boolean expression into a WHERE clause. Make sure that you supply the spaces required to separate the constructed Boolean expression from the other parts of the SELECT statement. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls11\pnrnot0\pnf1\pnfs26 {\pntxtb \'95}}\faauto\ls11\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs26 \ltrch\fcs0 \f1\fs26\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Execute the statement to retrieve the row(s) from the database table, after preparing it, or declaring a cursor for SELECT statements that might retrieve more than one row. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Query-by-Example}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Using CONSTRUCT and STRING Variables 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A basic CONSTRUCT statement has the following format: 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CONSTRUCT <variable-name> ON <column-list> FROM <field-list> }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This statement temporarily binds the specified form fields to database columns. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 It allows you to identify database columns for which the user can enter search criteria.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Each field and CONSTRUCT corresponding column must be the same or compatible data types. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Use the BY NAME clause when the fields on the screen form have the same names as the corresponding columns in the ON clause. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The user ca
n query only the screen fields listed in the BY NAME clause. 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CONSTRUCT BY NAME <variable-name> ON <column-list>}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312  }{
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The runtime system converts the entered criteria into a Boolean SQL condition that can appear in the WHERE clause of a SELECT statement. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 variable to hold the query condition can be defined as a}{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs28 
\ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 STRING\~ data type. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Strings are a variable length, dynamically allocated character string data type, without a size limitation. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The STRING variable can be concatenated, using the double pipe operator (||), with the text required to form a complete SQL SELECT statement.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Use the LET statement to assign a value to the variable. For example: 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Query-by-Example}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 DEFINE where_clause, sqltext STRING 
\par CONSTRUCT BY NAME where_clause ON customer.* 
\par LET sql_text = "SELECT COUNT(*) FROM customer WHERE " || where_clause}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 In this example, the user entered the criteria }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 > 101}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  in the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 store_num}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  field. The }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 where_clause}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  would be generated as: 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 "store_num > 101" }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 and the complete }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 sql_text}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  would be:\~
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 "SELECT COUNT(*) FROM customer WHERE store_num > 101" 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Query-by-Example}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Preparing the SQL Statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The STRING created in the example is not valid for execution. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The PREPARE instruction sends the text of the string to the database server for parsing, validation, and to generate the execution plan.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The scope of a prepared SQL statement is the module in which it is declared. 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 PREPARE cust_cnt_stmt FROM sql_text }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A prepared SQL statement can be executed with the EXECUTE instruction. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Since the SQL statement will only ret
urn one row (containing the count) the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 INTO}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
 syntax of the EXECUTE instruction can be used to store the count in the local variable }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cust_cnt}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 EXECUTE cust_cnt_stmt INTO cust_cnt }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When a prepared statement is no longer needed, the FREE instruction releases the memory associated with the statement. 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 FREE cust_cnt_stmt 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 DEFER INTERRUPT and the INT_FLAG
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Predefined Actions 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Conditional Logic 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\insrsid13325312 The IF Statement}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 
\b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The CASE Statement 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 DEFER INTERRUPT and the INT_FLAG:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The statement DEFER INTERRUPT in your MAIN program block will prevent your program from terminating abruptly if a SIGINT signal is received. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When using a GUI interface,\~
 the user can generate an interrupt signal if you have an action view named 'interrupt' (the predefined }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 interrupt}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  action). 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If an interrupt event is received, TRUE is assigned to the built-in global integer variable INT_FLAG. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Once deferred, the Interrupt signal causes no effect on most program statements; however it does terminate interactive dialog statements, such as CONSTRUCT.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This allows the user to cancel the CONSTRUCT statement and other interactive statements. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
It is common to test INT_FLAG after any interactive instruction to check if the user has cancelled the instruction. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Once INT_FLAG is set to TRUE, your program must re-set it to FALSE to detect a new interruption event.
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Predefined Actions
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The language pre-defines some actions and associated names for common operations, such as }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
accept}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  or }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cancel}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , used during interactive dialogs with the user such as CONSTRUCT. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You do not have to define these actions in the MENU statement or elsewhere 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You can define action views (such as buttons, toolbar icons, menu items) in your form using these pre-defined names 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 the corresponding action will automatically be attached to the view. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When the CONSTRUCT statement executes, buttons representing }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 accept}{\rtlch\fcs1 \af1\afs36 
\ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  and }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cancel }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 actions will be displayed by default 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Allow the user to validate or cancel the interactive dialog statement. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the user selects Cancel, the INT_FLAG is automatically set to FALSE. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Conditional Logic 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Once the CONSTRUCT statement is completed, you must test whether the INT_FLAG was set to TRUE (whether the user cancelled the dialog.)\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Genero BDL provides the conditional logic statements IF or CASE\~ to test a set of conditions. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 
{\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\insrsid13325312 
The IF Statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 IF statements can be nested.\~ The ELSE clause may be omitted.
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 IF <}{\rtlch\fcs1 \ab\ai\af1\afs24 \ltrch\fcs0 \b\i\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 condition}{\rtlch\fcs1 \ab\af1\afs24 
\ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 >\~THEN 
\par .... ELSE 
\par .... END IF\~\~ }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If\~ }{\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 condition }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 is TRUE, the runtime system executes the block of statements following THEN, until it reaches either the ELSE keyword or the END IF keywords. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If }{\rtlch\fcs1 \ai\af1\afs32 
\ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 condition }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
is FALSE, the runtime system executes the block of statements between ELSE and END IF. 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 IF (INT_FLAG = TRUE) THEN 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 LET INT_FLAG = FALSE 
\par LET cont_ok = FALSE 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 ELSE 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 LET cont_ok = TRUE 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 END IF 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The CASE Statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 The }{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 CASE statement specifies statement blocks to be executed conditionally, depending on the value of an expression. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Unlike IF statements, CASE does not restrict the logical flow of control to only two branches. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If you have a series of\~
 nested IF statements, the CASE statement may be more readable. 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CASE 
\par   WHEN (INT_FLAG = TRUE) 
\par      LET INT_FLAG = FALSE 
\par      LET cont_ok = FALSE 
\par   OTHERWISE 
\par     LET cont_ok = TRUE 
\par END CASE}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Usually, there would be several conditions to check.\~ The following statement uses an alternative syntax, since all the conditions check the value of }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 
\b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 var1}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CASE var1 
\par    WHEN 100 
\par          CALL routine_100() 
\par    WHEN 200 
\par          CALL routine_200() 
\par    OTHERWISE 
\par         CALL error_routine() 
\par END CASE }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\insrsid13325312 \tab 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The first WHEN condition in the CASE statement will be evaluated. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the condition is true(var1=100), the statement block is executed and the CASE statement is exited. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the condition is not true, the next WHEN condition will be evaluated, and so on through subsequent WHEN statements until a condition is found to be true, or OTHERWISE or END CASE is encountered.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The OTHERWISE clause of the CASE
 statement can be used as a catch-all for unanticipated cases. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.1
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Generating a Main Query Program
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custmain.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 custmain
}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 .rtf\'94 file to know the program meaning}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.2
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Logic for querying the database
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 .rtf\'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Canceling the Search}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.3
}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Returning the number of rows matching the query criteria
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_getcustcnt.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using Cursors}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The SQLCA.SQLCODE}{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Using Cursors
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When an SQL SELECT statement in your application will retrieve more than one row, a cursor must be used to pass the selected data to the program one row at a time. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The cursor is a data structure that represents a specific location within the active set of rows that the SELECT statement retrieved. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Sequential cursor: }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 reads through the active 
set only once each time it is opened, by moving the cursor forward one row each time a row is requested. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Scroll cursor: }{\rtlch\fcs1 
\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 fetches the rows of the active set in any sequence.\~To implement a scroll cursor, the database server creates a temporary table to hold the active set.\~\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The scope of a cursor is the module in which it is declared. Cursor names must be }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 unique}{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  within a module 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Using Cursors
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The general sequence of\~ program statements when using a SELECT cursor for Query-by-Example is:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 DECLARE}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
: the program declares a cursor for the STRING that contains the SQL SELECT statement.\~This allocates storage to hold the cursor. Note that the string does not have to be prepared using the PREPARE statement. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 OPEN}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : the program opens the cursor.\~The active set associated with the cursor is identified, and the cursor is positioned before the first row of the set. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 FETCH}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : the program fetches a row of data into host variables and processes it.\~ The syntax }{\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 
\i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 FETCH NEXT <cursor-identifier> INTO <variable-names>}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  can be used with a SCROLL CURSOR to fetch\~
the next row relative to the current position of the cursor in the SQL result set.\~ Using FETCH PREVIOUS ... moves the cursor back one row in the SQL result set. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 CLOSE}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : the program closes the cursor after the last row desired is fetched.\~ This releases the active result set associated with the cursor.\~ The cursor can be re-opened. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 FREE}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : when the cursor is no longer needed, the program frees the cursor to release the storage area holding the cursor.\~Once 
a cursor has been freed, it must be declared again before it can be re-opened.\~\~ 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The SQLCA.SQLCODE
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The "SQLCA" name stands for "SQL Communication Area."\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
SQLCA variable is a predefined record containing information on the execution of an SQL statement.\~\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The\~
 SQLCA record is filled after any SQL statement execution. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The SQLCODE member of this record contains the SQL execution code: 
\par }\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The NOTFOUND constant is a predefined integer value that evaluates to 100. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This constant is 
typically used to test the execution status of an SQL statement returning a result set, to check if rows have been found. 
\par }\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.4

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Declaring and opening a cursor to retrieve the database rows from the result set
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_cust_select.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.5

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Fetching from the customer database table
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_fetch_cust.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.6

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Direction for moving the cursor, options: next, previous
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_fetch_rel_cust.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.7

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying the contents of a customer database  row in the form
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_display_cust.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Retrieving Database Data}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.8

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compiling and Linking the Program
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The two example modules must be compiled and\~then linked into a single program.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 From the command line 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compile the program modules:
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 fglcomp custmain.4gl 
\par fglcomp custquery.4gl 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This produces the object modules }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 custmain.42m}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  and }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 custquery.42m}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , which must be linked to produce the program }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cust.42r}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 :
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 fgllink -o cust.42r custmain.42m custquery.42m}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Or, compile both modules and link at the same time:
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 fgl2p -o cust.42r custmain.4gl custquery.4gl}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Execute the program: 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 fglrun cust.42r}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The WHENEVER ERROR Statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Negative SQLCA.SQLCODE
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 SQLERRMESSAGE}{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Close and Free the Cursor
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Error if Cursor is not Open
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The WHENEVER ERROR Statement 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Since program statements that access the database may be expected to fail occasionally (the row is locked, etc.) the WHENEVER ERROR statement can be used to handle this type of error. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 By default, }{\rtlch\fcs1 \af1\afs36 
\ltrch\fcs0 \f1\fs36\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 when a runtime error occurs the program will stop}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 . 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 prevent this happening when SQL statem
ents that access the database fail, surround the SQL statement with WHENEVER ERROR statements, as in the following example based on the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 fetch_cust}{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  function in the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 custquery.4gl}{\rtlch\fcs1 \af1\afs36 
\ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  program module: 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 IF (p_fetch_flag = 1) THEN 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 WHENEVER ERROR CONTINUE 
\par FETCH NEXT cust_curs INTO mr_custrec.* 
\par WHENEVER ERROR STOP}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 WHENEVER ERROR statements are modular in scope and generate additional code for exception handling when the module is compiled 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
WHENEVER ERROR CONTINUE generates code to prevent the program from stopping if the FETCH statement fails. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You can write your own error function to handle SQL errors, and use the }{\rtlch\fcs1 \ab\ai\af1\afs32 \ltrch\fcs0 \b\i\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
WHENEVER ERROR CALL <function-name>}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  syntax to activate it. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Run-time errors may be logged to an error log.\~ 
\par }\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Negative SQLCA.SQLCODE
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The database server returns an execution code whenever an SQL statement\~ is executed, available in SQLCA.SQLCODE 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If the code is a negative number,\~
 an SQL error has occurred.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The SQLCA.SQLCODE should be checked immediately after each SQL statement that may fail, including\~ DECLARE, OPEN, FETCH, etc.\~
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 SQLERRMESSAGE
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If an SQL error occurs, the SQLERRMESSAGE operator returns the error message associated with the error code.\~
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This is a character string that can be displayed to the user with the ERROR instruction. 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 \tab ERROR SQLERRMESSAGE
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Close and Free the Cursor
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Closing and freeing the cursor when you no longer need it is good practice, especially if the modules are part of a larger program 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This function must be placed in the same module as the DECLARE/OPEN/FETCH statements and in sequence, so in the example this is the last function in the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
query_cust}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  module.
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Error if Cursor is not Open
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 In the example program in this chapter, if the user selects the Next or Previous action from the M
ENU before he has queried, the program returns an error ("Program stopped at line .... Fetch attempted on unopened cursor.")\~
 One way to prevent this error would be to add a variable to the program indicating whether the user has queried for a result set, and to prevent him from executing the actions associated with Next or Previous until he has done so. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 4.9

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Checking for errors when SQL statements are executed 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_fetch_cust_whenever.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 
LAB 4.10
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Closing and Freeing cursors prior to the program end 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_cleanup.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 
LAB 4.11
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Return the status of a query 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_cleanup.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 This lab is just for uncomment a line in the above mentioned file
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\insrsid13325312 ...
\par }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\insrsid13325312 56 }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang1033\langfe2058\langnp1033\insrsid13325312  --RETURN cont_ok  --LAB 4.11 Uncomment this line until you see this lab }{
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 
LAB 4.12
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Return the status of a query 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custquery.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_fetch_cust_status_qry.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 This lab is just for uncomment a line in the above mentioned file
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\insrsid13325312 ...
\par }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\insrsid13325312 56 }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang1033\langfe2058\langnp1033\insrsid13325312  --RETURN cont_ok  --LAB 4.11 Uncomment this line until you see this lab }{
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Handling Errors}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 
LAB 4.13
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Changing the menu statement in the custmain.4gl  module so a user cannot select Next or Previous if the query was not successful
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson4\'94. There you will find the simple BDL program called \'93custmain.4gl\'94
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custquery_fetch_cust_status_qry.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 This lab is just for uncomment the block and commnet the previous main block in the above mentioned file
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\insrsid13325312 ...
\par }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\insrsid13325312 FROM LINE 28 TO LINE 65}{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang1033\langfe2058\langnp1033\insrsid13325312  
\par \'85
\par DON\rquote T FORGET TO COMMENT THE PREVIOUS MAIN BLOCK
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Recompile the programs again
\par }\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 

\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Chapter 5: GUI Options}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 GUI Options}{
\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 You can change the way that program options are displayed in a form in a variety of ways 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
The example program in this chapter illustrates some of the simple changes that can be made: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 By changing the form specification file, you can provide the user with a valid list o
f abbreviations for the state field, and add a Toolbar or pulldown menu (Topmenu). The program business logic in the BDL program need not change.\~ After recompiling the form file, it can be used by the program with no additional changes required.\~ 

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You can
 change the appearance of the application window, adding a custom title and icon. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can disable and enable actions dynamically to control the options available to the user.\~ 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The program also illustrates some of the Genero BDL action defaults that standardize the presentation of common actions 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a Toolbar}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
The TOOLBAR section of a form specification file defines a Toolbar with buttons that are bound to actions. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
A Toolbar definition can contain the following elements: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 an }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ITEM:}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  specifies the action that is bound to the Toolbar button 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 a }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 
\b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 SEPARATOR:}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \~a vertical line
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Values can be assigned to TEXT, COMMENT, and IMAGE attributes for each item in the Toolbar 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
The TOOLBAR commands are enabled by actions defined by the current interactive BDL instruction 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 which in our example is the MENU statement in the }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 custquery.4gl}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  module. When a Toolbar button is selected by the user, the program triggers the action to which the Toolbar button is bound. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The word }{\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 find}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  must be identical in both the TOOLBAR ITEM and 
the MENU statement action, and must always be in }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 lower-case}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a Toolbar}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 5.1

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Adding a Toolbar 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custform.per\'94. 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If the form specification was created in a text file 
\par }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The portion of a form specification file,\~ }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custform.per, }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 that}{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 includes}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  a Toolbar section: 
\par }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 01 SCHEMA custdemo 
\par 02 
\par 03 TOOLBAR 
\par 04 ITEM find 
\par 05 ITEM previous 
\par 06 ITEM next 
\par 07 SEPARATOR 
\par 08 ITEM quit (TEXT="Quit", COMMENT="Exit the program", IMAGE="exit") 
\par 09 END 
\par 10 
\par 11 LAYOUT 
\par 12 GRID 
\par 13 \{ 
\par 14         Store #:   [f01 ] Name:[f02                                    ] 
\par 15          Address:[f03                                                        ] 
\par 16                         [f04                                                         ]}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par .... 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a Toolbar}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 5.1

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Adding a Toolbar 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custform.per\'94. 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using Genero Studio Form Designer }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a Topmenu}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Use the TOPMENU section of\~
 the form specification to design the pull-down menu.
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
The TOPMENU section must appear after SCHEMA, and must contain a tree of GROUP elements that define the pull-down menu. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The GROUP TEX
T value is the title for the pull-down menu group.\~ 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
GROUP can contain the following elements: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 a }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 COMMAND}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : specifies the action the menu option must be bound to 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 a }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 
\b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 SEPARATOR}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : a horizontal line 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 GROUP children}{\rtlch\fcs1 
\af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 : a subgroup within a group. 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Values can be assigned to attributes such as TEXT, COMMENT, and IMAGE. for each item in the TOPMENU 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
As in a Toolbar, the TOPMENU commands are enabled by actions defined by the current interactive BDL instruction (dialog), which in our example is the MENU statement in the custquery.4gl module 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
When a TOPMENU option is selected by the user, the program triggers the action to which the TOPMENU command is bound.}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a Topmenu}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 5.2

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Adding a Topmenu 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custform.per\'94. 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If the form specification was created in a text file 
\par }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The portion of a form specification file,\~ }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
custform.per, }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 that}{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 includes}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  a Topmenu section: 
\par }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 01 SCHEMA custdemo 
\par 03 TOPMENU 
\par 04     GROUP form (TEXT="Form") 
\par 05         COMMAND quit (TEXT="Quit", COMMENT="Exit the program", IMAGE="exit") 
\par 06     END 
\par 07     GROUP stores (TEXT="Stores") 
\par 08         COMMAND find 
\par 09         SEPARATOR 
\par 13         COMMAND next 
\par 14         COMMAND previous 
\par 15     END 
\par 16 END}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a Topmenu}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 5.2

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Adding a Topmenu
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2520\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custform.per\'94. 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using Genero Studio Form Designer }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a COMBOBOX Form Item}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin540\itap0 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Real values can
 be associated to display values, for example: ((1,"Paris"),(2,"Madrid"),(3,"London")).\~ 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
See the BDL documentation for a complete list of the item types that can be used on a form 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
Although the list of values for the COMBOBOX is contained in the form specification file in this example program 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
you could also set the INITIALIZER attribute to define a function that will provide the values 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin540\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
The initialization function would be invoked at runtime when the form is loaded (for example, to fill the COMBOBOX item list dynamically with database records). 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 COMBOBOX f6=customer.state, ITEMS = ("IL", "IA", "WI");}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  

\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Customizing the Window}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Setting a Window Title}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Specifying an Icon
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Changing the Window Style}{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Customizing the Window}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Setting a Window Title
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The default title for a window is the name of the object in the OPEN WINDOW statement 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 For example, in the programs we've seen so far, the title of the window is w1: 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 OPEN WINDOW w1 WITH FORM "custform\'93
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 In the form specification file, the attribute TEXT of the LAYOUT section can be used to change the title of the parent window:
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 LAYOUT(TEXT=Customer)}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Customizing the Window}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Specifying an Icon
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The Genero runtime system provides built-in classes, or object templates, which contain methods, or functions, that you can call from your programs. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The classes are grouped together into packages. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 One package, }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ui}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , contains the "Interface" class, allowing you to manipulate the user interface. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 For example, the }{\rtlch\fcs1 
\ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 setImage}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  method can be used to set the default icon for t
he windows of your program 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You may simply call the method, prefixing it with the package name and class name; you do not need to create an Interface object. 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CALL ui.Interface.setImage("}{\rtlch\fcs1 \ab\ai\af1\afs28 \ltrch\fcs0 \b\i\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 imagename}{
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 ") 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Customizing the Window}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Changing the Window Style
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 By default windows are displayed as normal application windows 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can choose a specific style using the WINDOWSTYLE attribute of the LAYOUT section of the form file 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The default window styles are defined as a set of attributes in an external file (}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 default.4st)}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 . 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 LAYOUT(WINDOWSTYLE="dialog") 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Customizing the Window}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 5.3

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Changing a Window\rquote s Appearance
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custform.per\'94. 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 In the LAYOUT section you can add
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 LAYOUT (TEXT="Customer") 
\par }\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Customizing the Window}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 5.4

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Changing a Window\rquote s Icon
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custmain.4gl\'94. 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 Add the following line
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CALL ui.Interface.setImage( "exit") 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\insrsid13325312 
Note that this line will be added BEFORE to open the form \'93custform\'94
\par }\pard \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 {\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\insrsid13325312 
\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 \'85
\par CONNECT TO "custdemo"
\par SET LOCK MODE TO WAIT 6
\par CLOSE WINDOW SCREEN
\par }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 CALL ui.Interface.setImage( "exit") }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 
\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 OPEN WINDOW w1 WITH FORM "custform"}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\insrsid13325312 \'85}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Managing Actions}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Disable/Enable Actions}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\insrsid13325312 The Close Action}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 
\b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Managing Actions}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Disable/Enable Actions
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You can disable and enable the actions instead, providing visual cues to the user when the actions are not available. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The ui.Dialog built-in class provides an interface to the BDL interactive dialog statements 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Such as CONSTRUCT and MENU 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Method }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 setActionActive}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  enables and disables actions 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
To call a method of this class, use the pre-defined }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 DIALOG}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  object within the interactive instruction block. 
\par }\pard\plain \ltrpar\s5\ql \fi-360\li2520\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2520\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang1033\langfe2058\langnp1033\insrsid13325312  MENU
\par         BEFORE MENU
\par          CALL DIALOG.setActionActive("actionname" , state)
\par        ...
\par      END MENU
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \ab\ai\af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\ai\af1\afs32 
\ltrch\fcs0 \b\i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 State}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  is an integer, 0 (disable) or 1 (enable).}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You must be within an interactive instruction in order to use the DIALOG object in your program, but you can pass the object to a function.
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Managing Actions}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The Close Action 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 In Genero applications, when the user clicks the X button in the upper-right corner of the application window, a predefined }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 
\b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 close}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  action is sent to the program.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 What happens next depends on the interac
tive dialog statement: 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When the program is in a MENU dialog statement, the }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 close}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  action is converted to an INTERRUPT key press. If there is a COMMAND KEY (INTERRUPT) block in the MENU statement, the statements in that control block are executed.\~Otherwise
, no action is taken 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When the program is in an INPUT, INPUT ARRAY, CONSTRUCT or DISPLAY ARRAY statement,\~ the }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 close}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  action cancels the dialog, and the }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 int_flag}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  is set to TRUE. Your program can check the value of }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 int_flag}{\rtlch\fcs1 \af1\afs32 
\ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  and take appropriate action 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Change this default behavior by overwriting the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 close}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  action within the interactive statement.\~For example, to exit the MENU statement when the user clicks this button: 
\par }\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 MENU
\par      ...
\par      ON ACTION close
\par        EXIT MENU
\par      END MENU
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 By default the action view for the close action is hidden and does not display on the form}{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 
\b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Actions Defaults}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Action Defaults}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 MENU/Action Defaults Interaction}{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Actions Defaults}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Action Defaults
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The Genero BDL runtime system includes an XML file, }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 default.4ad,\~}{\rtlch\fcs1 \af1\afs36 
\ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  in the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 lib}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  subdirectory of the installation directory FGLDIR, that defines presentation attributes for some commonly used actions. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If you match the action names used in this file exactly when you define your action views (TOOLBAR or TOPMENU items, buttons, etc.)\~ in the form specification file, the presentation attributes defined for this action will be used.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 All action names must be in lower-case.
\~}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 For example, the following line in the }{
\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 default.4ad}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  file:\~\~ 
\par }\pard\plain \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1800\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 <ActionDefault name="find" text="Find" image="find" comment="Search" />
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Defines presentation attributes for a}{
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  find}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  action (the text to be displayed on the action view 
}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 find }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
defined in the form, the image file to be used as the icon for the action view, and the comment to be associated with the action view). 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1800\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The attribute values are case-sensitive 

\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Actions Defaults}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Action Defaults
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The following line in the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 default.4ad}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  file defines presentation attributes for the pre-defined action }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cancel}{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
An accelerator key is assigned as an alternate means of invoking the action: 
\par }\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 <ActionDefault name="cancel" text="Cancel" acceleratorName="Escape" />
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can override a default presentation attribute in your program. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 For example, by specifying a\~
 TEXT attribute for the action }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 find}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
 in the form specification file, the default TEXT value of "Find " is replaced with the value "Looking." 
\par }\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 03 TOPMENU
\par 04
\par ...   
\par 07   GROUP stores (TEXT="Stores")
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 COMMAND find (TEXT="Looking")
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You can create your own .4ad file to standardize the presentation attributes for all the common actions used by your application 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Actions Defaults}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 MENU/Action Defaults Interaction 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The attributes of the action views for the MENU actions in the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 custmain.4gl }{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 example will be determined as shown in the table below 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Attributes defined in the form specification file override attributes defined in the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .4ad}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  file. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 GUI Options}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-540\li540\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin540\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 5.5

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1170\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Recompile the programs again and see the results at the GUI
\par }\pard \ltrpar\s3\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1170\itap0 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 

\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Chapter 6: Add/Update/Delete}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Add/Update/Delete}{
\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Action Defaults
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This program allows the user to insert/update/delete rows in the customer table. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Embedded SQL statements (UPDATE/INSERT/DELETE) are used to update the table, based on the values stored in the program record 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
SQL transactions, and concurrency and consistency issues are discussed.\~Prior to deleting a row, a dialog window is displayed to prompt the user to verify the deletion.\~ 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Entering Data on a Form}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic dicusses
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 
Input Statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 Unbuffered Attribute}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Without Defaults Attribute
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Entering Data on a Form}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 INPUT Statement 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The INPUT statement allows the user to enter or change the values in a program record, which can then be used as the data for new rows in a database table, or to update existing rows. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 In the INPUT statement you list:\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The program variables that are to receive data from the form\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The corresponding
 form fields that the user will use to supply the data 
\par }\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 INPUT <}{\rtlch\fcs1 \ab\ai\af1\afs28 \ltrch\fcs0 \b\i\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 program-variables>}{\rtlch\fcs1 
\ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312  FROM <}{\rtlch\fcs1 \ab\ai\af1\afs28 \ltrch\fcs0 \b\i\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 form-fields}{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 
\b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 > }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The FROM clause explicitly binds the fields in the screen record to the program variables, so the INPUT instruction can manipulate values that the user enters in the screen record. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The number of record members must equal the number of fields listed in the FROM clause 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When the user enters data, the runtime system checks the entered value against the data type of the variable, not the data type of the screen field. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Entering Data on a Form}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 INPUT Statement 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When invoked, the INPUT statement enables the specified fields of the form in the current BDL window, and waits for the user to supply data for the fields. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The user moves the cursor from field to field and types new values 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Each time the cursor leaves a field, the value typed into that field is deposited into the corresponding program variable 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can write blocks of code as clauses in the INPUT statement that are called automatically during input, so you can monitor and control the actions of your user within this statement 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The INPUT statement ends when the user selects the accept or cancel actions, or the action is accepted programmatically 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
INPUT supports the same shortcuts for naming records as the DI
SPLAY statement You can ask for input to all members of a record, from all fields of a screen record, and you can ask for input BY NAME from fields that have the same names as the program variables 
\par }\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 INPUT BY NAME <}{\rtlch\fcs1 \ab\ai\af1\afs28 \ltrch\fcs0 \b\i\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 programrecord}{\rtlch\fcs1 
\ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 >.* 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Entering Data on a Form}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 UNBUFFERED Attribute
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 By default, field values are buffered 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The UNBUFFERED attribute makes the INPUT dialog "sensitive," allowing you to easily change some form field values programmatically during INPUT execution 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When you assign a value to a program vari
able, the runtime system automatically displays that value in the form 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When you input values in a form field, the runtime system automatically stores that value in the corresponding program variable 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using the UNBUFFERED attribute }{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 is recommended 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Entering Data on a Form}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 WITHOUT DEFAULTS Attribute
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The same INPUT statement can be used, with the WITHOUT DEFAULTS attribute, to allow the user to make changes to an existing program record representing a row in the database. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Attribute prevents BDL from automatic
ally displaying any default values that have been defined for the form fields when INPUT is invoked, allowing you to display the existing database values on the screen before the user begins editing the data 
\par }\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1260\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Updating Database Tables}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 SQL Transactions
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Concurrency and Consistency}{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1260\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Updating Database Tables}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 SQL Transactions 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The values of the program variables that have been input through the form can be used in SQL statements that update tables in a database
\par }\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1260\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 
\par 
\par 
\par 
\par 
\par 
\par 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The embedded SQL sta
tements INSERT, UPDATE, and DELETE can be used to make changes to the contents of a database table 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If your database has transaction logging, use the BEGIN WORK and COMMIT WORK commands to delimit a transaction block, usually consisting of multiple SQL statements 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If you do not issue a BEGIN WORK statement to start a transaction, each statement executes within its own transaction 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\ul\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
To eliminate concurrency problems, keep transactions as short as possible 
\par }\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1260\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Updating Database Tables}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Concurrency and Consistency
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 While your program is modifying data, another program may also be reading or modifying the same data 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
To prevent errors, many database servers use a system of locks. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When another program requests the data, the database server either makes the program wait or turns it back with an error 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
BDL provides a combination of statements to control the effect that locks have on your data access: 
\par }\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \tab }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 SET LOCK MODE TO \{WAIT [n]| NOT WAIT \}}{
\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This defines the timeout for lock acquisition for the current connection 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The ti
meout period can be specified in seconds (}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 n}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ).\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \~
If no period is specified, the timeout is infinite 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the LOCK MODE is set to NOT WAIT, an exception is returned immediately if a lock cannot be acquired 
\par }\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \tab }{
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 SET ISOLATION LEVEL TO \{ DIRTY READ | COMMITTED READ | CURSOR STABILITY | REPEATABLE READ \}}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This defines the ISOLATION LEVEL for the current connection.\~When possible, the database driver executes the native SQL statement that corresponds to the specified isolation level.
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Updating Database Tables}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Concurrency and Consistency
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 For portable database programming, the following is recommended: 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Transactions must be enabled in your database. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The ISOLATION LEVEL must be at least COMMITTED READ.\~ On most database servers, this is usually the default isolation level and need not be changed. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The LOCK MODE must be set to WAIT or WAIT <}{\rtlch\fcs1 \ai\af1\afs32 \ltrch\fcs0 \i\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 timeperiod}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 >}{
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ,\~}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  if this is supported by your database server.
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a New Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discussess
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 INPUT Statement Control Blocks
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a New Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 INPUT Statement Control Blocks
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Genero BDL provides some optional control blocks for the INPUT statement that are called automatically as the user moves the cursor through the fields of a form
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This allows your program to initialize field contents when adding a new row, for example, or to validate the user's input.\~For example:\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 BEFORE FIELD control blocks are executed immediately prior to the focus moving to the specified field.\~\~
The example program uses this control block to prevent the user from changing the store number during an update by immediately moving the focus to the store name field (the NEXT FIELD instruction).\~\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
An ON CHANGE block is executed when the cursor leaves the specified field and the value was changed by the user since the field received the focus. This block is also fir
ed when the user clicks on a checkbox, radiogroup, or changes the item in a combobox. The example program uses the ON CHANGE control block to verify the uniqueness of the store number that was entered, and to make sure that the store name is not left blan
k.\~\~
 The user receives notification of a problem with the value of a field as soon as the field is exited. Validating these values as they are completed is less disruptive than notifying the user of several problems after the entire record has been entered. 

\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a New Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 6.1

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Adding Menu options, and sql insert statement
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custmain.4gl\'94. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at how to add menu options to update the rows in the database table }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 customer}{
\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf19\insrsid13325312 \'85
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custquery.4gl\'94.
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at the new function, }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 inpupd_cust(), }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 to allow the user to input a new row into the form 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at the new function, }{\rtlch\fcs1 \ab\af1\afs24 
\ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 insert_cust(), }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
containing the SQL statement to add the new row to the database table }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf19\insrsid13325312 
\par }\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Updating an Existing Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using a Work Record
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 SELECT ... FOR UPDATE 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 SCROLL CURSOR WITH HOLD
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Updating an Existing Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls3\pnrnot0\pnf1\pnfs36 {\pntxtb \'95}}\faauto\ls3\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Using a Work Record
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Updating an existing row in a database table provides more opportunity for concurrency and consistency errors that inserting a new row 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
A work record and a local record, both identical to the program record, are defined to allow the program to compare the values 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A SCROLL CURSOR is used to allow the user to scroll through a result set generated by a query.\~
The scroll cursor is declared WITH HOLD so it will not be closed when a COMMIT WORK or ROLLBACK WORK is executed. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When the user chooses Update, the values in the current program record are copied to the work record. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The INPUT statement accepts the user's input and stores it in the program record.\~Use the WITHOUT DEFAULTS keywords to ensure that the original values retrieved from the database were not replaced with default values.\~\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the user accepts the input, a transaction is started with BEGIN WORK. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The primary key stored in the program record is used to SELECT the same row into the local record.\~FOR UPDATE locks the row. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The SQLCA.SQLCODE is checked, in case
 the database row was deleted after the initial query. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The work record and the local record are compared, in case the database row was changed after the initial query. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the work and local records are identical,\~ the database row is updated using the new program record values input by the user. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the UPDATE is successful, a COMMIT WORK is issued.\~Otherwise, a ROLLBACK WORK is issued. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The SCROLL CURSOR has remained open, allowing the user to continue to scroll through the query result set. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Updating an Existing Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 SELECT ... FOR UPDATE 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 To explicitly lock a database row prior to updating, a SELECT ... FOR UPDATE statement may be used to instruct the database server to lock the row that was selected.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
SELECT ... FOR UPDATE cannot be used outside of an explicit transaction.\~The locks are held until the end of the transaction. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Updating an Existing Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 SCROLL CURSOR WITH HOLD 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Like many programs that perform database maintenance, the Query program uses a SCROLL CURSOR to move through an SQL result set, updating or deleting the rows as needed 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
BDL cursors are automatically closed by the database interface when a COMMIT WORK or ROLLBACK WORK statement is performed. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 the\~
SCROLL CURSOR can be declared WITH HOLD, keeping it open across multiple transactions to allow the user to continue to scroll through the result set 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Adding a New Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 6.2

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Definition of a work record for updates
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custquery.4gl\'94. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at the followinf definition:
\par }\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel5\rin0\lin3240\itap0 {\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
DEFINE mr_custrec, work_custrec RECORD }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custquery.4gl\'94.
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at the function, }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 inpupd_cust(), }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 is modified to use a work record when updating an existing database row 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at the new function, }{\rtlch\fcs1 \ab\af1\afs24 
\ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 insert_cust(), }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
containing the SQL statement to add the new row to the database table }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custquery.4gl\'94.
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at the function, }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 update_cust(), }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 uses a work record and SQL statements to update a row in the customer table 
\par }\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Deleting a Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The SQL DELETE statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Prompting for Validation
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Deleting a Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The SQL DELETE statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The SQL DELETE statement can be used to delete rows from the database table 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The primary key of the row to be deleted can be obtained from the values in the program record. 
\par }\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 Example:
\par 
\par    DELETE FROM customer 
\par      WHERE store_num = mr_custrec.store_num}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Deleting a Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Prompting for Validation 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The TRUE statement has an optional STYLE attribute that can be set to 'dialog', automatically opening a temporary modal window 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The menu options appear as buttons at the bottom of the window. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can also define a message and icon with the COMMENT and IMAGE attributes 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This provides a simple way to prompt the user to confirm some action or operation that has been selected 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Deleting a Row}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 6.3

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Way to delete a row
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custquery.4gl\'94. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at the new function }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 delete_check() }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 to prompt for validation when deleting a row\~ from a database table }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson5\'94. There you will find the simple BDL program called \'93custquery.4gl\'94.
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at the new function }{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 delete_cust()}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  containing SQL statements to delete the row from the customer table. 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 
Recompile the programs and test them again}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Chapter 7: Display Multiple Rows (Array)}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 
Defininig the Form for the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs32 
\ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Display Array: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 In this section you will be able to display multiple customer records at once 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The program defines a program array to hold the records, and displays the records in a form containing a TABLE and a screen array..
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The user can scroll through the records in the table, sort the table by a specific column, and hide or display columns. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
In the illustration, the table is sorted by City.\~Right-clicking the mouse displays a drop-down list of the columns, with check boxes, allowing the user to hide or show a specific column. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 To i
mplement this type of scrolling display, the example must:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Create a form specification containing a screen array of screen records 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Define an program array of records, each record having members that correspond to the fields of the screen records.}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Defining the Form for the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Screen Arrays
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 TABLE Containers\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The INSTRUCTIONS Section}{
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1260\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Defining the Form for the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Screen Arrays
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A screen array is usually a repetitive array of fields in the LAYOUT section of a form specification, each containing identical groups of screen fields
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Each \'93row\'94
 of a screen array is a screen record
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Each \'93column\'94
 of a screen array consists of fields with the same item tag in the LAYOUT section of the form specification file. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You must declare screen array
s in the INSTRUCTIONS section
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Table Containers
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The TABLE container in a form defines the presentation of a list of records, bound to a screen array 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
When this layout container is used with curly braces defining the container area, the position of the static labels and item tags is automatically detected by the form compiler to build a graphical object displaying a list of records. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The first line of the TABLE area\~
contains text entries defining the column titles 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The second\~
 line contains field item tags that define the columns of the table receiving the data. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls4\pnrnot0\pnf1\pnfs32 {\pntxtb \'96}}\faauto\ls4\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The user can sort the rows displayed in the form table by a mouse-click on the title of the column that is to be used for the sort}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312   
\par }\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1260\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Defining the Form for the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The INSTRUCTIONS Section  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You must declare a screen array in the INSTRUCTIONS section of the form\~with the SCREEN RECORD keyword.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can reference the names of the screen array}{\rtlch\fcs1 \ai\af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 in the\~
DISPLAY ARRAY statement of\~the program. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Defining the Form for the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 7.1

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Defining a screen array in a Form Definition
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson6\'94. There you will find the simple BDL program called \'93menycust.per\'94. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at ARRAY definition in the Form: TABLE}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf19\insrsid13325312 
\par }\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Creating the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Program Arrays
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Loading the Array\~}{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Creating the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Program Arrays
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A program array\~ is an ordered set of elements all of the same data type. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You can create one-, two-, or three-dimensional arrays. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
elements of the array can be simple types or they can be records. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Arrays can be
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 static:\~defined with an explicit size for all dimensions\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 dynamic:\~
has a variable size; dynamic arrays have no theoretical size limit}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 All elements of static arrays are initialized even if the array is not used 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Defining huge static arrays may
 use a lot of memory 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The elements of dynamic arrays are allocated automatically by the runtime system, as needed.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 To define a dynamic array}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 {\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 \tab 
DEFINE cust_arr2 DYNAMIC ARRAY OF RECORD 
\par        \tab              store_num LIKE customer.store_num,
\par        \tab              city      LIKE customer.city
\par        \tab END RECORD}{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 \~
\par }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The size of the array will be determined by the runtime system, based on the program logic that is written to fill the array.}{\rtlch\fcs1 \af1\afs28 
\ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Creating the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Loading the Array
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 To load the program array in the example, you must retrieve the values from the result set of a query and load them into the elements of the array
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The FOREACH statement is equivalent to using the OPEN, FETCH and CLOSE statements to retrieve and process all the rows selected by a query, and is especially useful when loading arrays. 
\par }\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang1033\langfe2058\langnp1033\insrsid13325312 01     DECLARE custlist2_curs CURSOR FOR 
\par 02        SELECT store_num, city FROM customer 
\par 03     LET idx = 1
\par 04     FOREACH custlist2_curs INTO cust_arr2[idx].*
\par 05       LET idx = idx + 1
\par 06     END FOREACH
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The FOREACH statement shown above: 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Opens the }{\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 custlist2_curs}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  cursor.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Fetches a row into the array }{
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cust_arr2}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  using the variable }{\rtlch\fcs1 \ab\af1\afs28 
\ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 idx}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  as an index to indicate the element number of the array. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Increments }{\rtlch\fcs1 \ab\af1\afs28 
\ltrch\fcs0 \b\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 idx}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  by one. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Repeats steps 2 and 3 until no more rows are retrieved from the database table (automatically checks for the NOTFOUND condition).\~\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls5\pnrnot0\pnf1\pnfs28 {\pntxtb \'95}}\faauto\ls5\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Closes the cursor and exits from the FOREACH loop.}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Creating the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Loading the Array
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 You must DECLARE the cursor before the FOREACH statement can retrieve the rows 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Since the the index of the array element\~
 is incremented prior to each FOREACH statement being executed (line 05), the FOREACH ... INTO <array_element> instruction causes an additional element to be allocated during the last FETCH returning NOTFOUND 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A bui
lt-in method (function) of the array object, }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 deleteElement}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 , can be used to remove the empty element from the array.}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang1033\langfe2058\langnp1033\insrsid13325312     IF (idx > 1) THEN 
\par         CALL cust_arr2.deleteElement(idx)
\par         LET idx = idx -1
\par     END IF}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Displaying the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf17\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The DISPLAY ARRAY Statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The ARR_CURR Function\~}{\rtlch\fcs1 
\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Displaying the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The DISPLAY ARRAY Statement
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The DISPLAY ARRAY statement lets the user view the contents of an array of records, scrolling through the display, but the user cannot change them
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Static ARRAY
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When using a static array, the number of rows to be displayed is defined by the COUNT attribute. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 If you do not use the }{\rtlch\fcs1 
\ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 COUNT}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
 attribute, the runtime system cannot determine how much data to display, and so the screen array remains empty.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Dynamic ARRAY
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When using a dynamic array, the number of rows to be displayed is defined by the number of elements in the dynamic array; the }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 
\b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 COUNT}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  attribute is ignored.
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 Example

\par }\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 DISPLAY ARRAY cust_arr2 TO sa_cust2.* ATTRIBUTES(COUNT=idx)
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This statement will displa
y the program array cust_arr2 to the\~form fields defined in the sa_cust2 screen array of the form.\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 By default, the DISPLAY ARRAY statement does not terminate until the user accepts or cancels the dialog 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The Accept and Cancel actions are predefined and display on the form. 
\par }\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin1260\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Displaying the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 The ARR_CURR Function
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 When the user accepts or cancels the dialog, the ARR_CURR built-in function returns the index (subscript number) of the row in the program array that was selected (the current row).\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This al
lows your program to determine the row that was selected and make use of the selected row's values. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Displaying the Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 7.2

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Displaying an array, allowing the user to select one row
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson6\'94. There you will find the simple BDL program called \'93cust_lib.4gl\'94. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at ARRAY definition, you will learn how to display an array of rows from the customer database table on a form and allow the user to select one of the rows 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cust_lib.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf19\insrsid13325312 
\par }\pard \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Creating a Library}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Creating a Library
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Since the cust_lib function that could be used by other programs that reference the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 customer}
{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  table, the function will be compiled into a library.\~  
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The library can then be linked into any program, and the function called.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The function will always return }{
\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 store_num}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  and s}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 
\b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 tore_name}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 . 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
If the FOREACH fails, or returns no rows, the calling program will have a }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 store_num}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  of zero and a blank }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 store_name}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  returned. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The function is contained in a file named }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cust_lib.4gl}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 .\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This file would usually contain additional library functions. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
To compile (and link, if there were additional .4gl files to be included in the library): 
\par }\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs28 \ltrch\fcs0 \b\f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 fgl2p -o cust_lib.42x cust_lib.4gl 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Since a library has no MAIN function, we will need to create a small stub program if we want to test the library function independently
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Creating a Library}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 7.3

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Calling a library function from a different module
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson6\'94. There you will find the simple BDL program called \'93cust_stub.4gl\'94. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at main function that will call the library or function display_custarr().
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Look mainly the compilation way and try it
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cust_stub.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf19\insrsid13325312 
\par }\pard \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Paged Mode}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 This topic discusses:
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs36 
\ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Paged Mode of DISPLAY ARRAY 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 ON FILL BUFFER clause 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 AFTER DISPLAY 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Paged Mode}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Paged Mode of DISPLAY ARRAY
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 
{\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\insrsid13325312 This option 
}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 retrieves all the rows from the customer table into the program array prior to the data being displayed by the DISPLAY ARRAY statement.  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Usi
ng this full list mode, you must copy into the array all the data you want to display 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Using the DISPLAY ARRAY statement in "paged" mode allows you to\~provide data rows dynamically during the dialog, using a dynamic array to hold one page of data. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 A "page" of data is the total number of\~
 rows of data\~ that can be displayed in the form at one time. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The length of a page can change dynamically, since the user has the option of re-sizing the window containing the form. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Paged Mode}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 ON FILL BUFFER clause
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The ON FILL BUFFER clause feeds the DISPLAY ARRAY instruction with pages of data 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The following built-in functions are used in the ON FILL BUFFER clause to provide the rows of data for the page: 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 FGL_DIALOG_GETBUFFER START(): retrieves the offset in the\~SCROLL CURSOR result set, and is used to determine the starting point for retrieving and displaying the complete rows. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
FGL_DIALOG_GETBUFFERLENGTH(): retrieves the current length of the page, and is used to determine the number of rows that must be provided.\~\~}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The statements in the ON FILL BUFFER clause of DISPLAY ARRAY are executed automatically by the runtime system each time a new page of data is needed 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
the statements in the ON FILL BUFFER clause will automatically maintain the dynamic array so that the relevant ten rows are retrieved and/or displayed as the user scrolls up and down through the table on the form 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Paged Mode}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 AFTER DISPLAY
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 AFTER DISPLAY}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  block is executed one time, after the user has accepted or canceled the dialog, but before executing the next statement in the program 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
the statements in this block determine the current position of the cursor when the user clicked OK or Cancel, so the correct store number and name can be returned to the calling function. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Paged Mode}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 7.4

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Using page mode to display an array of database rows
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson6\'94. There you will find the simple BDL program called \'93cust_lib2.4gl\'94. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at display_custarr() function, look the records in the customer table are loaded in
to the program array and the user uses the form to scroll through the program array. The user actually scrolls through the result set created by a\~ SCROLL CURSOR 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This\~
SCROLL CURSOR retrieves only the store number, and another SQL SELECT statement retrieves the remainder of the row as needed. 
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 
{\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 See \'93}{
\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cust_lib2.rtf}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\insrsid13325312 \'94 file to know the program meaning}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf19\insrsid13325312 
\par }\pard \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel4\rin0\lin2580\itap0 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf19\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 Chapter 8: Input Multiple Rows}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Input Array}{
\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Input Array: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 This program uses a form and a screen array to allow the user to view and change multiple records of a program array at once 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The program uses the INPUT ARRAY statement, and its control blocks, to control and monitor the changes made by the user to the records 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
As each record in the program array is added, updated, or deleted,\~ the program logic makes corresponding changes in the rows of the }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 customer}{
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  database table.\~\~ 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The example window shown below has been re-sized to fit on this page 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Input Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Input Array Statement: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 INPUT ARRAY}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  statement supports data entry by users into a screen array, and stores the entered data in a program array of records 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
During the INPUT ARRAY execution, the user can edit or delete existing records, insert new records, and move inside the list of records 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The program can then use the INSERT, DELETE or UPDATE SQL statements to modify the appropriate database tables. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The INPUT ARRAY statement does not terminate until the user validates or cancels the dialog. 
\par }\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf19\lang1033\langfe2058\langnp1033\insrsid13325312      
\par     INPUT ARRAY cust_arr WITHOUT DEFAULTS FROM sa_cust.* 
\par             ATTRIBUTE (UNBUFFERED, COUNT=idx)
\par }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\cf19\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The example}{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  INPUT ARRAY}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  statement binds the screen array fields in }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 sa_cust\~}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  to the member records of the program array }{\rtlch\fcs1 \ab\af1\afs36 \ltrch\fcs0 \b\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 cust_arr}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 . 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The number of variables in each record of the program array must be the same as the number of fields in each screen record (that is, in a single row of the screen array). 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Each mapped variable must have the same data type or a compatible data type as the corresponding field}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 The Unbuffered Attribute}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 UNBUFFERED attribute: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 As in the INPUT statement, when the UNBUFFERED attribute is used, the INPUT ARRAY statement is sensitive to program variable changes 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
You need to display new data during the execution, use the UNBUFFERED attribute and assign the values to the program array row; the runtime system automatically displays the values to the screen. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This sensitivity applies to ON ACTION control blocks, as well. 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Count and Other Attributes}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 COUNT and other attributes: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Some of the attributes of the INPUT ARRAY statement include:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The COUNT attribute of INPUT ARRAY defines the number of valid rows in the program array to be\~
displayed as default rows. If you do not use the COUNT attribute, the runtime system cannot determine how much data to display, so the screen array remains empty. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The MAXCOUNT attribute defines the maximum number of data rows that can be entered in the program array. In a dynamic array, the user can enter an infinite number of rows if the MAXCOUNT attribute is not set. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The WITHOUT DEFAULTS attribute prevents BDL from displaying any default values that have been defined for form fields. 
\par }\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Control Blocks}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 Control Blocks: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Is possible to control and monitor the changes made by the user by using control blocks with the INPUT ARRAY statement:
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The BEFORE INPUT block: executed one time, before the runtime system gives control to the user. You can implement initialization in this block. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The BEFORE ROW block: executed each time the user moves to another row, after the destination row is made the current one. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The ON ROW CHANGE block: executed when the user moves to another row after modifications have been made to the current row. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The ON CHANGE <fieldname> block: executed when the cursor leaves a specified field and the value was changed by the user since the field got the focus. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The BEFORE INSERT block: executed each time the user inserts a new row in the array, before the new row is created and made the current one.\~ 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The AFTER INSERT block: executed each time the user inserts a new row in the array, after the new row is created. You can cancel the insert operation with the CANCEL INSERT keywords. 
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
The BEFORE DELETE block: executed each time the user deletes a row from the array, before the row is removed from the list. You can cancel the delete operation with the CANCEL DELETE}{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  keywords. 
\par }\pard \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 ARR_CURR}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 {\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 
\ltrch\fcs0 \b\f1\fs40\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 ARR_CURR: 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 The language provides several built-in functions to use in an INPUT ARRAY statement. 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
ARR_CURR  tells us which array element is being changed 
\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
This function returns the row number within the program array that is displayed in the current line of a screen array.\~ 
\par }\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel3\rin0\lin1920\itap0 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
\par }\pard\plain \ltrpar\s1\qr \li0\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 
\ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang1034\langfe2058\langnp1034\insrsid13325312 Input Array}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \f1\fs40\cf17\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s2\ql \fi-600\li600\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf1\pnfs40 
{\pntxtb \'95}}\faauto\ls1\outlinelevel1\rin0\lin600\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\f1\fs40\cf17\insrsid13325312 LAB 8.1

\par {\pntext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s3\ql \fi-540\li1260\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls2\pnrnot0\pnf1\pnfs36 {\pntxtb \'96}}\faauto\ls2\outlinelevel2\rin0\lin1260\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 
\f1\fs36\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Input Array sample
\par {\pntext\pard\plain\ltrpar \s4 \rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'95\tab}}\pard\plain \ltrpar\s4\ql \fi-480\li1920\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls6\pnrnot0\pnf1\pnfs32 {\pntxtb \'95}}\faauto\ls6\outlinelevel3\rin0\lin1920\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 
\f1\fs32\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Please follow the next instructions:
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 See folder \'93lesson6\'94. There you will find the simple BDL program called \'93custall.4gl\'94. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard\plain \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Have a look at load_custall() function, which loads the program array with rows from the customer database table 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Have a look at inpupd_custall() function, used to insert, delete, and change rows in the array on the form
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Have a look at store_num_ok() function to verify that the store number does not already exist in the}{\rtlch\fcs1 \ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  customer}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 
\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312  database table 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Review how to insert a
 new row in the customer database, using the values in the array on the form  }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\insrsid13325312 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Review how to update a row in the customer database, using the values in the array on the form. 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0
\pnf1\pnfs24 {\pntxtb \'bb}}\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
Review how to how to delete a row in the customer database, using the values in the array on the form 
\par {\pntext\pard\plain\ltrpar \s6 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf1\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'bb\tab}}\pard \ltrpar\s6\ql \fi-360\li3240\ri0\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0\pnf1\pnfs24 {\pntxtb \'bb}}
\faauto\ls12\outlinelevel5\rin0\lin3240\itap0\pararsid13325312 {\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\insrsid13325312 Review }{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 the }{\rtlch\fcs1 
\ab\af1\afs24 \ltrch\fcs0 \b\f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 custallform.per}{\rtlch\fcs1 \af1\afs24 \ltrch\fcs0 \f1\fs24\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 
 form specification file containing a table and a screen record
\par {\pntext\pard\plain\ltrpar \s5 \rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 \loch\af1\dbch\af0\hich\f1 \'96\tab}}\pard\plain \ltrpar\s5\ql \fi-420\li2580\ri0\nowidctlpar\wrapdefault{\*\pn 
\pnlvlblt\ilvl0\ls8\pnrnot0\pnf1\pnfs28 {\pntxtb \'96}}\faauto\ls8\outlinelevel4\rin0\lin2580\itap0\pararsid13325312 \rtlch\fcs1 \af0\afs40\alang1025 \ltrch\fcs0 \fs40\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 
\f1\fs28\cf1\lang3082\langfe2058\langnp3082\insrsid13325312 Compile and try 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid9375469 
\par 
\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 
\b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid9375469 Chapter 9: Reports}{\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid9375469 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 \b\f1\fs48\cf17\lang3082\langfe2058\langnp3082\insrsid9375469 
\par }\pard\plain \ltrpar\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 {\*\bkmkstart ReportDriver}The Report Driver{\*\bkmkend ReportDriver}
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 The part of a program that generates the rows of report data (also known as input }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/TutChap03.html" \\l "definerecord" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005400750074004300680061007000300033002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d00000064006500660069006e0065
007200650063006f007200640000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 records}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
) is called the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/TutChap09.html" \\l "ReportDriver" }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005400750074004300680061007000300039002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d0000005200650070006f00720074
0044007200690076006500720000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 report driver}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
. The primary concern of the row-producing logic is the selection of rows of data. The actions of a report driver are:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f37\fs22\insrsid9375469 \hich\af37\dbch\af0\loch\f37 1.\tab}}\pard\plain \ltrpar\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls13\adjustright\rin0\lin720\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
Use the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DRV_START" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 
{\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000e0000005200500054005f004400520056005f
005300540041005200540000000064}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 START REPORT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 statement to initialize each report to be produced. We recommend that clauses regarding page setup and report destination be included in this statement. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f37\fs22\insrsid9375469 \hich\af37\dbch\af0\loch\f37 2.\tab}Use a forward-only database }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:
\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/ResultSets.html" \\l "RESULTSET" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc40000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0052006500730075006c00740053006500740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000a00000052004500530055004c
00540053004500540000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 cursor}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 to read rows from a database, if that is the source of the report data. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f37\fs22\insrsid9375469 \hich\af37\dbch\af0\loch\f37 3.\tab}Whenever a row of report data is available, use }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DRV_OUTPUT" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000f0000005200500054005f004400520056005f
004f005500540050005500540000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 OUTPUT TO REPORT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 to send it to the report definition. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f37\fs22\insrsid9375469 \hich\af37\dbch\af0\loch\f37 4.\tab}If an error is detected, use }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 \af31507 
\ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 TERMINATE REPORT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  to stop the report process. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f37\fs22\insrsid9375469 \hich\af37\dbch\af0\loch\f37 5.\tab}When the last row has been sent, use }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DRV_FINISH" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000f0000005200500054005f004400520056005f
00460049004e0049005300480000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 FINISH REPORT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  to end the report. 
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 From the standpoint of the row-producing side, these are the only statements required to create a report.
\par }\pard\plain \ltrpar\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 {\*\bkmkstart ReportDefinition}The Report Definition{\*\bkmkend ReportDefinition}
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 The report definition uses a }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\
l "RPT_DEFINITION" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000f0000005200500054005f0044004500460049
004e004900540049004f004e0000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 REPORT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 program block to format the input }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/TutChap03.html" \\l "definerecord" }{\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005400750074004300680061007000300033002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d00000064006500660069006e0065
007200650063006f007200640000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 records}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 .\~
 REPORT is global in scope. It is not, however, a function; it is not reentrant, and CALL cannot invoke it.
\par The code within a REPORT program block consists of several sections, which must appear in the order shown:
\par {\*\bkmkstart DEFINE}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s3\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls14\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469 The DEFINE section{\*\bkmkend DEFINE}
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 Here you define the variables passed as parameter to the report, and the local variables. A report can have its own local }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Variables.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005600610072006900610062006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 
\af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 variables}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  for subtotals, calculated results, and other uses.
\par {\*\bkmkstart OUTPUT}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s3\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls15\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469 The OUTPUT section (optional){\*\bkmkend OUTPUT}
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 Although you can define page setup and destination information in this section, the format of the report will be static.\~ Providing this same information in the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DRV_START" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000e0000005200500054005f004400520056005f
005300540041005200540000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 START REPORT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 statement provides more flexibility.
\par {\*\bkmkstart ORDER}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s3\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls16\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469 The ORDER BY section (optional){\*\bkmkend ORDER}
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 Here you specify the required order for the data rows, when using groupping.\~ Include this }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS
\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DF_ORDERBY" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000f0000005200500054005f00440046005f004f
0052004400450052004200590000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 ORDER BY}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 section if values that the report definition receives from the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\
l "RPT_DRIVER" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000b0000005200500054005f0044005200490056
004500520000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 report driver}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 are significant in determining how }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/TutChap09.html" \\l "BEFOREGROUPOF" }{\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005400750074004300680061007000300039002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000e0000004200450046004f00520045
00470052004f00550050004f00460000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 BEFORE GROUP OF}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  or }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/TutChap09.html" \\l "AFTERGROUPOF" }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005400750074004300680061007000300039002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d0000004100460054004500520047
0052004f00550050004f00460000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 AFTER GROUP OF}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  control blocks will process the data in the formatted report output.\~ To avoid the creation of additional resourcesto sort the data, use the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DF_ORDERBY" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000f0000005200500054005f00440046005f004f
0052004400450052004200590000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 ORDER EXTERNAL}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  statement in this section if the data to be used in the report has already been sorted by an ORDER BY clause in the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/StaticSql.html" \\l "SS_SELECT" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f00530074006100740069006300530071006c002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000a000000530053005f00530045004c
0045004300540000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 SQL statement}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 .
\par {\*\bkmkstart FORMAT}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0\afs48 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s3\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469 The FORMAT section{\*\bkmkend FORMAT}
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 Here you describe what is to be done at a particular stage of report generation. The code blocks you write in the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DF_FORMAT" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000e0000005200500054005f00440046005f0046
004f0052004d004100540000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 FORMAT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 section are the heart of the report program block and contain all its intelligence.\~ You can use most BDL statements in the FORMAT section of a report; you cannot, however, include any }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/StaticSql.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f00530074006100740069006300530071006c002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 
\af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 SQL statements}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 .
\par BDL invokes the sections and blocks within a report program block non-procedurally, at the proper time, as determined by the report data. You do not have to wr
ite code to calculate when a new page should start, nor do you have to write comparisons to detect when a group of rows has started or ended. All you have to write are the statements that are appropriate to the situation, and BDL supplies the \'93glue\'94
 to make them work.
\par You can write control blocks in the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DF_FORMAT" }{\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000e0000005200500054005f00440046005f0046
004f0052004d004100540000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 FORMAT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 section to be executed for the following events:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f2\fs20\insrsid9375469 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \ltrpar\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls18\adjustright\rin0\lin720\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
Top (header) of the first page of the report ({\*\bkmkstart FIRSTPAGEHEADER}}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\
l "RPT_FMT_FPH" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000c0000005200500054005f0046004d0054005f
0046005000480000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 FIRST PAGE HEADER)}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 {\*\bkmkend FIRSTPAGEHEADER} 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f2\fs20\insrsid9375469 \hich\af2\dbch\af0\loch\f2 o\tab}Top (header) of every page after the first ({\*\bkmkstart PAGEHEADER}}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_FMT_PH" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000b0000005200500054005f0046004d0054005f
005000480000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 PAGE HEADER}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 {\*\bkmkend PAGEHEADER}) 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f2\fs20\insrsid9375469 \hich\af2\dbch\af0\loch\f2 o\tab}Bottom (footer) of every page ({\*\bkmkstart PAGETRAILER}}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_FMT_PT" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000b0000005200500054005f0046004d0054005f
005000540000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 PAGE TRAILER}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 {\*\bkmkend PAGETRAILER}) 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f2\fs20\insrsid9375469 \hich\af2\dbch\af0\loch\f2 o\tab}Each new row as it arrives ({\*\bkmkstart ONEVERYROW}}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_FMT_OEROW" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000e0000005200500054005f0046004d0054005f
004f00450052004f00570000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 ON EVERY ROW)}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 {\*\bkmkend ONEVERYROW} 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f2\fs20\insrsid9375469 \hich\af2\dbch\af0\loch\f2 o\tab}The start end of a group of rows\~ ({\*\bkmkstart BEFOREGROUPOF}}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_FMT_BAG" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000c0000005200500054005f0046004d0054005f
0042004100470000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 BEFORE GROUP OF}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 {\*\bkmkend BEFOREGROUPOF}
) - a group is one or more rows having equal values in a particular column. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f2\fs20\insrsid9375469 \hich\af2\dbch\af0\loch\f2 o\tab}The end of a group of rows ({\*\bkmkstart AFTERGROUPOF}}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_FMT_BAG" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000c0000005200500054005f0046004d0054005f
0042004100470000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 AFTER GROUP OF}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 {\*\bkmkend AFTERGROUPOF}
) - in this block, you typically print subtotals and other aggregate data for the group that is ending. You can use }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 \af31507 
\ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 aggregate functions}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 to calculate and display frequencies, percentages, sums, averages, minima, and maxima for this information. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f2\fs20\insrsid9375469 \hich\af2\dbch\af0\loch\f2 o\tab}After the last row has been processed ({\*\bkmkstart ONLASTROW}}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_FMT_LROW" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d0000005200500054005f0046004d0054005f
004c0052004f00570000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 ON LAST ROW}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 {\*\bkmkend ONLASTROW}) - }
{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 \af31507 
\ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 aggregate functions}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  calculated over all the rows of the report are typically printed here. 
\par }\pard\plain \ltrpar\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 {\*\bkmkstart Two-pass}{\*\bkmkend Two-pass}Two-pass reports
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 A two-pass report is one that creates temporary tables, therefore there must be an active connection to the database.\~
The two-pass report handles sorts internally. During the first pass, the report engine sorts the data and stores the sorted values i
n a temporary file in the database. During the second pass, it calculates any aggregate values and produces output from data in the temporary files.
\par If your }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/TutChap09.html" \\l "ReportDefinition" }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005400750074004300680061007000300039002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0000110000005200650070006f00720074
0044006500660069006e006900740069006f006e0000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 report definition}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469  includes any of the following, a two-pass report is required:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls19\adjustright\rin0\lin720\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
An }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_DF_ORDERBY" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 
{\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000f0000005200500054005f00440046005f004f
0052004400450052004200590000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 ORDER BY}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  section without the EXTERNAL keyword. 

\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}The }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" \\l "RPT_AGGR_PERCENT" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0000110000005200500054005f0041004700470052
005f00500045005200430045004e00540000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 GROUP PERCENT(*)}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  }{\field\fldedit{\*\fldinst 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 \af31507 
\ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 aggregate function}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  anywhere in the report. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Any }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Reports.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bbe0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005200650070006f007200740073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 \af31507 
\ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 aggregate function}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  outside the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/TutChap09.html" \\l "AFTERGROUPOF" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005400750074004300680061007000300039002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d0000004100460054004500520047
0052004f00550050004f00460000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 AFTER GROUP OF}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  control block. 
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid9375469 
\par }\pard\plain \ltrpar\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 {\*\bkmkstart Interrupt}Interrupting a Report{\*\bkmkend Interrupt}
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 When a program performs a long process like a loop, a report, or a database query,\~ the lack of user interaction statements within the process can prevent the user from interrupting it.\~
 In this program, the preceding example is modified to display a form containing start, exit, and interrupt }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FormSpecFiles.html" \\l "FF_ITEMTYPE_BUTTON" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046006f0072006d005300700065006300460069006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab000013000000460046
005f004900540045004d0054005900500045005f0042005500540054004f004e0000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 buttons}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {
\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 , as well as a }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FormSpecFiles.html" \\
l "FF_ITEMTYPE_PROGRESSBAR" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046006f0072006d005300700065006300460069006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab000018000000460046
005f004900540045004d0054005900500045005f00500052004f004700520045005300530042004100520000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 progress bar}}}\sectd \ltrsect
\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  showing how close the report is to completion.
\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  INCLUDEPICTURE "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/Images/TUT803.png" \\* MERGEFORMATINET }}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid6907914 {\pict{\*\picprop\shplid1025{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn pibFlags}{\sv 1}}{\sp{\sn fLine}{\sv 0}}
{\sp{\sn wzDescription}{\sv }}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}\picscalex106\picscaley81\piccropl0\piccropr0\piccropt0\piccropb0
\picw7620\pich7620\picwgoal4320\pichgoal4320\wmetafile8\bliptag-1423137482\blipupi76{\*\blipuid ab2ca536f0e26310e8b4c4495a70f41f}
0100090000031602000002009601000000009601000026060f002203574d46430100000000000100130800000000010000000003000000000000000300000100
00006c0000000000000000000000350000006f0000000000000000000000d51f00002f18000020454d4600000100000300001000000002000000000000000000
000000000000981200009e1a0000ca0000002001000000000000000000000000000022130300cb660400160000000c000000180000000a000000100000000000
000000000000090000001000000085070000b5050000520000007001000001000000a4ffffff0000000000000000000000009001000000000000044000224300
61006c00690062007200690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1100cc9a110010000000309e1100b09b1100e4506032309e1100289b110010000000989c1100149e11008a4f6032309e1100289b1100200000006a455531289b
1100309e110020000000ffffffffec23db0017465531ffffffffffff0180ffff01800f020180ffffffff0000030000080000000800006cf21100010000000000
00005802000025000000372e90010000020f0502020204030204ef0200a07b20004000000000000000009f00000000000000430061006c006900620072000000
00000060a20241a160322534e4cccc23db005c45a1005c9b11001e504d310700000001000000989b1100989b11003d524b3107000000c09b1100ec23db006476
000800000000250000000c00000001000000250000000c00000001000000250000000c00000001000000120000000c00000001000000180000000c0000000000
000254000000540000000000000000000000350000006f000000010000005fcc87403f4087400000000057000000010000004c00000004000000000000000000
000085070000b705000050000000200000003600000046000000280000001c0000004744494302000000ffffffffffffffff86070000b5050000000000004600
000014000000080000004744494303000000250000000c0000000e000080250000000c0000000e0000800e000000140000000000000010000000140000000400
000003010800050000000b0200000000050000000c02c6000501040000002e0118001c000000fb02f4ff0000000000009001000000000440002243616c696272
6900000000000000000000000000000000000000000000000000040000002d010000040000002d010000040000002d0100000400000002010100050000000902
000000020d000000320a0c00000001000400000000000501c60020fe07001c000000fb020200010000000000bc02000000000102022253797374656d0000000000000000000000000000000000000000000000000000040000002d010100040000002d010100030000000000}}}}\sectd \ltrsect
\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 \~
\par }\pard\plain \ltrpar\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 {\*\bkmkstart nterruptactionview}The interrupt action view{\*\bkmkend nterruptactionview} 
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 In order to allow a user to stop a long-running report, for example, you can define an }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/DynamicUI.html" \\l "CTRLGACTIONS" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f00440079006e0061006d0069006300550049002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d0000004300540052004c00470041
004300540049004f004e00530000000200}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 action view}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 with the name "interrupt".\~ When the runtime system takes control of the program, the client automatically enables a local }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/DynamicUI.html" \\l "INTERRUPTION" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f00440079006e0061006d0069006300550049002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d00000049004e0054004500520052
0055005000540049004f004e000000003d}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 interrupt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 action to let the user send an asynchronous request to the program.\~ This interruption request is interpreted by the runtime system as a traditional interruption signal, as if it was generated on the server side, and the }{\field\fldedit{\*\fldinst {
\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Programs.html" \\l "PV_INT_FLAG" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc00000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f00500072006f006700720061006d0073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000c000000500056005f0049004e0054005f
0046004c00410047000000000b}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 INT_FLAG}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  }
{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/Variables.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f005600610072006900610062006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 
\af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 variable}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  is set to TRUE. 
\par }\pard\plain \ltrpar\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 {\*\bkmkstart Refresh}Refreshing the Displa{\*\bkmkend Refresh}y 
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 The Abstract User Interface tree on the front end is synchronized with the runtime system AUI tree when a user interaction instruction takes the control
. This means that the user will not see any display as long as the program is doing batch processing, until an interactive statement is reached.\~
 If you want to show something on the screen while the program is running in a batch procedure, you must force synchronization with the front end. 
\par The }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/ClassInterface.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bcc0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0043006c0061007300730049006e0074006500720066006100630065002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}
}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 Interface}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 class is a built-in class provided to manipulate the user interface. The }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9375469 refresh()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  method of thi
s class synchronizes the front end with the current AUI tree. You do not need to instantiate this class before calling any of its methods: 
\par }\pard\plain \ltrpar\s26\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 
\af2\afs20\alang1025 \ltrch\fcs0 \f2\fs20\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af2 \ltrch\fcs0 \insrsid9375469      }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs28\insrsid9375469 CALL}{\rtlch\fcs1 \af2 \ltrch\fcs0 \insrsid9375469 
 ui.Interface.refresh()
\par }\pard\plain \ltrpar\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 {\*\bkmkstart ProgressBar}Using a ProgressBar{\*\bkmkend ProgressBar} 
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 One of the form item types is a }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FormSpecFiles.html" \\l "FF_ITEMTYPE_PROGRESSBAR" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046006f0072006d005300700065006300460069006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab000018000000460046
005f004900540045004d0054005900500045005f00500052004f004700520045005300530042004100520000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 PROGRESSBAR}}}\sectd \ltrsect
\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 , a horizontal line with a progress indicator.\~ The position of the PROGRESSBAR is defined by the value of the corresponding form field. T
he value can be changed from within a BDL program by using the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/MessageDisplay.html" \\
l "DISPLAY" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bcc0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f004d0065007300730061006700650044006900730070006c00610079002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000800000044
004900530050004c004100590000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 DISPLAY}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
 instruction to set the value of the field. 
\par This type of form item does not allow data entry; it is only used to display integer values. The }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FSFAttributes.html" \\l "FA_VALUEMIN" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046005300460041007400740072006900620075007400650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000c000000460041
005f00560041004c00550045004d0049004e0000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 VALUEMIN}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  and }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FSFAttributes.html" \\l "FA_VALUEMAX" }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046005300460041007400740072006900620075007400650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000c000000460041
005f00560041004c00550045004d004100580000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 VALUEMAX}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  attributes of the PROGRESSBAR define the lower and upper integer limit of the progress information. Any value outside this range will not be displayed. 
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {
\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\pict{\*\picprop\shplid1026{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fillColor}{\sv 9928789}}{\sp{\sn fFilled}{\sv 1}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn alignHR}{\sv 1}}{\sp{\sn dxHeightHR}{\sv 30}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fStandardHR}{\sv 1}}{\sp{\sn fHorizRule}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}
\picscalex883\picscaley6\piccropl0\piccropr0\piccropt0\piccropb0\picw1764\pich882\picwgoal1000\pichgoal500\wmetafile8\bliptag-846758192\blipupi81{\*\blipuid cd877ed08ba4546f495597cdd93e5df2}
010009000003dd02000006001202000000001202000026060f001a04574d46430100000000000100171c0000000001000000f803000000000000f80300000100
00006c000000ffffffffffffffff630e0000340000000000000000000000e03c0000d400000020454d4600000100f80300001d00000003000000000000000000
000000000000981200009e1a0000ca0000002001000000000000000000000000000022130300cb660400160000000c000000180000000a000000100000000000
0000000000000900000010000000630e000034000000250000000c0000000e000080250000000c0000000e000080120000000c00000001000000520000007001
000001000000a4ffffff000000000000000000000000900100000000000004400022430061006c00690062007200690000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000001100cc4c11001000000030501100b04d1100e450603230501100284d
110010000000984e1100145011008a4f603230501100284d1100200000006a455531284d11003050110020000000ffffffffec81400117465531ffffffffffff
0180ffff01800f020180ffffffff000002000008000000080000f85e120001000000000000005802000025000000372e90010000020f0502020204030204ef02
00a07b20004000000000000000009f00000000000000430061006c00690062007200000000000030ae0841a160323bacdddccc814001e449d2005c4d11001e50
4d310700000001000000984d1100984d11003d524b3107000000c04d1100ec8140016476000800000000250000000c00000001000000250000000c0000000100
0000250000000c00000001000000180000000c00000000000002540000005400000000000000000000003500000031000000010000005fcc87403f4087400000
000057000000010000004c000000040000000000000000000000610e00003200000050000000200000003600000046000000280000001c000000474449430200
0000ffffffffffffffff640e000035000000000000002100000008000000620000000c0000000100000024000000240000000000003e00000000000000000000
003e000000000000000002000000270000001800000002000000000000005580970000000000250000000c00000002000000250000000c000000080000805600
000030000000ffffffffffffffff630e00003400000005000000fcfffcfffcff9d0117739d011773fcfffcfffcff250000000c00000007000080250000000c00
000000000080240000002400000000000041000000000000000000000041000000000000000002000000220000000c000000ffffffff46000000140000000800
00004744494303000000250000000c0000000e000080250000000c0000000e0000800e0000001400000000000000100000001400000004000000030108000500
00000b0200000000050000000c020700f301040000002e0118001c000000fb020200010000000000bc02000000000102022253797374656d0000000000000000
000000000000000000000000000000000000040000002d010000040000002d01000004000000020101001c000000fb02f4ff0000000000009001000000000440
002243616c6962726900000000000000000000000000000000000000000000000000040000002d010100040000002d010100040000002d010100050000000902
000000020d000000320a0c0000000100040000000000f401070020db0700030000001e0007000000fc020000558097000000040000002d01020008000000fa02
050000000000ffffff00040000002d0103000e000000240305000000000000000700f4010700f40100000000000008000000fa0200000000000000000000040000002d01040007000000fc020000ffffff000000040000002d010500040000002701ffff040000002d010000040000002d010000030000000000}}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
\par }\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4
\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar
\s2\ql \fi-450\li1170\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin1170\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs56\alang1025 \ltrch\fcs0 \fs56\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
{\*\bkmkstart Exampleprogbar}Example:\~ Interruption Handling 
\par }\pard\plain \ltrpar\s3\ql \fi-360\li1800\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin1800\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs48\alang1025 \ltrch\fcs0 \fs48\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 The Form Specification File{\*\bkmkend Exampleprogbar} 
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 A form containing a progress bar is defined in the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FormSpecFiles.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046006f0072006d005300700065006300460069006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}
}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs25\ul\cf2\dbch\af31501\insrsid9375469 \hich\af0\dbch\af31501\loch\f0 form specification file}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  }{\rtlch\fcs1 \ab\af0 
\ltrch\fcs0 \b\insrsid9375469 reportprog.per}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 . 
\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts11\trgaph15\trleft-45\trftsWidth2\trwWidth5000\trautofit1\trspdl15\trspdt15\trspdb15\trspdr15\trspdfl3\trspdft3\trspdfb3\trspdfr3\trpaddl15\trpaddt15\trpaddb15\trpaddr15\trpaddfl3\trpaddft3\trpaddfb3
\trpaddfr3\tblrsid9375469\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \clcbpat16\cltxlrtb\clftsWidth3\clwWidth5805\clcbpatraw16\clhidemark \cellx8883
\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af31507 
\ltrch\fcs0 \b\loch\af31506\hich\af31506\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af31506\dbch\af31505\loch\f31506 F\hich\af31506\dbch\af31505\loch\f31506 orm (reportprog.per)}{\rtlch\fcs1 \af31507\afs24 \ltrch\fcs0 
\fs24\loch\af31506\hich\af31506\dbch\af31505\insrsid9375469\charrsid9506129 \cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af31507\afs20 \ltrch\fcs0 
\fs20\loch\af31506\hich\af31506\dbch\af31505\insrsid9375469\charrsid9506129 \trowd \irow0\irowband0\ltrrow
\ts11\trgaph15\trleft-45\trftsWidth2\trwWidth5000\trautofit1\trspdl15\trspdt15\trspdb15\trspdr15\trspdfl3\trspdft3\trspdfb3\trspdfr3\trpaddl15\trpaddt15\trpaddb15\trpaddr15\trpaddfl3\trpaddft3\trpaddfb3
\trpaddfr3\tblrsid9375469\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \clcbpat16\cltxlrtb\clftsWidth3\clwWidth5805\clcbpatraw16\clhidemark \cellx8883\row 
\ltrrow}\trowd \irow1\irowband1\lastrow \ltrrow\ts11\trgaph15\trleft-45\trftsWidth2\trwWidth5000\trautofit1\trspdl15\trspdt15\trspdb15\trspdr15\trspdfl3\trspdft3\trspdfb3\trspdfr3\trpaddl15\trpaddt15\trpaddb15\trpaddr15\trpaddfl3\trpaddft3\trpaddfb3
\trpaddfr3\tblrsid9375469\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \cltxlrtb\clftsWidth2\clwWidth5000\clshdrawnil\clhidemark \cellx8883\pard\plain \ltrpar
\s26\ql \li0\ri0\widctlpar\intbl\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 
\f2\fs20\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 01}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\hich\af2\dbch\af31505\loch\f2  }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 LAYOUT}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\hich\af2\dbch\af31505\loch\f2  (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 TEXT}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\hich\af2\dbch\af31505\loch\f2 ="Report")
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 02}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2   }{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 GRID}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 03}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2   \{
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 04}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 05}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2         [f001                  ]
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 06}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 07}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2         [ib                    ]
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 08}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 09}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 10}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2   \}
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 11}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2   }{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 END}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 12}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2  }{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 END}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 13}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 14}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2  }{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 ATTRIBUTES}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 15}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2  }{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 PROGRESSBAR}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2  f001 = formonly.rptbar, }{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 VALUEMIN}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 =1,}{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 VALUEMAX}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 =10;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 16}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2  }{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 BUTTON}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2  \hich\af2\dbch\af31505\loch\f2 ib : interrupt, }{
\rtlch\fcs1 \af2 \ltrch\fcs0 \cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 TEXT}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 ="Stop";
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \cs29\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 17}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2  }{\rtlch\fcs1 \af2 \ltrch\fcs0 
\cs28\dbch\af31505\insrsid9375469\charrsid9506129 \hich\af2\dbch\af31505\loch\f2 END}{\rtlch\fcs1 \af2 \ltrch\fcs0 \dbch\af31505\insrsid9375469\charrsid9506129 \cell }\pard\plain \ltrpar
\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af31507\afs20 \ltrch\fcs0 
\fs20\loch\af31506\hich\af31506\dbch\af31505\insrsid9375469\charrsid9506129 \trowd \irow1\irowband1\lastrow \ltrrow
\ts11\trgaph15\trleft-45\trftsWidth2\trwWidth5000\trautofit1\trspdl15\trspdt15\trspdb15\trspdr15\trspdfl3\trspdft3\trspdfb3\trspdfr3\trpaddl15\trpaddt15\trpaddb15\trpaddr15\trpaddfl3\trpaddft3\trpaddfb3
\trpaddfr3\tblrsid9375469\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrtbl \clbrdrl\brdrtbl \clbrdrb\brdrtbl \clbrdrr\brdrtbl \cltxlrtb\clftsWidth2\clwWidth5000\clshdrawnil\clhidemark \cellx8883\row 
}\pard\plain \ltrpar\s24\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 
{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9375469 Notes:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls20\adjustright\rin0\lin720\itap0\pararsid9375469 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f37\fs22\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 
Line }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \cs29\fs20\loch\af2\hich\af2\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 05 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 contains the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FormSpecFiles.html" \\l "FF_FORM_FIELD" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046006f0072006d005300700065006300460069006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000e000000460046
005f0046004f0052004d005f004600490045004c004400000000d0}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 form field}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  for the }
{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FormSpecFiles.html" \\l "FF_ITEMTYPE_PROGRESSBAR" }{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046006f0072006d005300700065006300460069006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab000018000000460046
005f004900540045004d0054005900500045005f00500052004f004700520045005300530042004100520000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 PROGRESSBAR}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469 . 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Line }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \cs29\fs20\loch\af2\hich\af2\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 
07}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  contains the form field for the interrupt }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\
fjs-fgl-2.02.01-manual.chm::/DocRoot/User/DynamicUI.html" \\l "CTRLGACTIONS" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f00440079006e0061006d0069006300550049002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d0000004300540052004c00470041
004300540049004f004e00530000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 action view}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 . 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Line }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \cs29\fs20\loch\af2\hich\af2\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 
15}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  defines the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/FormSpecFiles.html" \\
l "FF_ITEMTYPE_PROGRESSBAR" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bca0000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f0046006f0072006d005300700065006300460069006c00650073002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab000018000000460046
005f004900540045004d0054005900500045005f00500052004f004700520045005300530042004100520000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 PROGRESSBAR}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 
\ltrch\fcs0 \insrsid9375469  as formonly since its type is not derived from a database column.\~ The values range from 1 to 10.\~ The maximum value for the PROGRESSBAR was chosen arbitrarily, and was set rather low since there aren't many rows in the }{
\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9375469 customer }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469 database table. 
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs20\insrsid9375469 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Line }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \cs29\fs20\loch\af2\hich\af2\dbch\af31501\insrsid9375469 \hich\af2\dbch\af31501\loch\f2 
16}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  defines the button}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid9375469  ib}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  as an interrupt }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid9375469  HYPERLINK "mk:@MSITStore:C:\\\\DOCS%20CSS\\\\fjs-fgl-2.02.01-manual.chm::/DocRoot/User/DynamicUI.html" \\l "CTRLGACTIONS" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6907914 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b020000000b000000e0c9ea79f9bace118c8200aa004ba90bc20000006d006b003a0040004d00530049005400530074006f00720065003a0043003a005c0044004f00430053002500320030004300530053005c0066006a0073002d00660067006c002d0032002e00300032002e00
300031002d006d0061006e00750061006c002e00630068006d003a003a002f0044006f00630052006f006f0074002f0055007300650072002f00440079006e0061006d0069006300550049002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab00000d0000004300540052004c00470041
004300540049004f004e00530000000000}}}{\fldrslt {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cs25\ul\cf2\insrsid9375469 action view}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9375469  with TEXT of "Stop". 
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9375469 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid9375469 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang3082\langfe2058\langnp3082\insrsid9375469\charrsid9375469 
\par }\pard\plain \ltrpar\s1\qc \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs64\alang1025 \ltrch\fcs0 \fs64\lang2058\langfe2058\cgrid\langnp2058\langfenp2058 {\rtlch\fcs1 \ab\af1\afs48 \ltrch\fcs0 
\b\f1\fs48\cf17\lang1033\langfe2058\langnp1033\insrsid13325312 > Welcome to Genero developer world \'85
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
29e245eb2b260a0238fd010000ffff0300504b030414000600080000002100266c541b9a060000521b0000160000007468656d652f7468656d652f7468656d65
312e786d6cec594d6f1b4518be23f11f467b6f6327761a4775aad8b11b48d346b15bd4e37877bc3bcdecce6a669cd437d41e9190100571a012370e08a8d44a5c
caaf09144191fa1778676677bd13af49d24650417d48bcb3cffbfd31ef8caf5ebb1f33744884a43c697bf5cb350f91c4e7014dc2b6777bd8bfb4e621a9701260
c613d2f6a6447ad736de7fef2a5e5711890902fa44aee3b6172995ae2f2d491f96b1bccc5392c0bb31173156f028c2a540e023e01bb3a5e55a6d7529c634f150
8263603b041a1410746b3ca63ef13672f63d06321225f582cfc4403327194d091b1cd435424e659709748859db0349013f1a92fbca430c4b052fda5ecd7cbca5
8dab4b783d23626a016d89ae6f3e195d46101c2c1b99221c1542ebfd46ebca56c1df00989ac7f57abd6eaf5ef03300ecfb60a9d5a5ccb3d15fab77729e2590fd
3acfbb5b6bd61a2ebec47f654ee756a7d369b6325d2c5303b25f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd5868b37a088
d1e4600ead03daef67dc0bc898b3ed4af81ac0d76a197c86826c28b24b8b18f3442dcab518dfe3a20f000d6458d104a9694ac6d8873ceee2782428d602f03ac1
a53776c997734b5a1692bea0a96a7b1fa6186a62c6efd5f3ef5f3d7f8a8e1f3c3b7ef0d3f1c387c70f7eb48c1caa6d9c8465aa97df7ef6e7e38fd11f4fbf79f9
e88b6abc2ce37ffde1935f7efebc1a08e53353e7c5974f7e7bf6e4c5579ffefedda30af8a6c0a3327c486322d14d7284f6790c8619afb89a9391381fc530c2b4
4cb199841227584ba9e0df539183be39c52c8b8ea34787b81ebc23a07d5401af4fee390a0f223151b442f24e143bc05dce59878b4a2fec685925370f2749582d
5c4ccab87d8c0fab647771e2c4b73749a16fe669e918de8d88a3e61ec389c221498842fa1d3f20a4c2babb943a7edda5bee0928f15ba4b5107d34a970ce9c8c9
a619d1368d212ed32a9b21de8e6f76efa00e6755566f9143170955815985f243c21c375ec71385e32a96431cb3b2c36f6015552939980abf8ceb4905910e09e3
a8171029ab686e09b0b714f41d0c1dab32ecbb6c1abb48a1e84115cf1b98f332728b1f74231ca755d8014da232f6037900298ad11e5755f05dee56887e8638e0
6461b8ef50e284fbf46e709b868e4ab304d16f2642c7125ab5d381639afc5d3b6614fab1cd818b6bc7d0005f7cfdb822b3ded646bc097b5255256c9f68bf8b70
279b6e978b80befd3d770b4f923d02693ebff1bc6bb9ef5aaef79f6fb98beaf9ac8d76d65ba1edeab9c10ec566448e174ec863cad8404d19b921cd902c619f08
fab0a8e9ccf9901427a63482af595f7770a1c0860609ae3ea22a1a44388501bbee6926a1cc588712a55cc2c1ce2c57f2d67818d2953d1636f581c1f60389d52e
0fecf28a5ececf05051bb3db84e6f0990b5ad10cce2a6ce54ac614cc7e1d6175add499a5d58d6aa6d539d20a932186f3a6c162e14d1840108c2de0e55538a16b
d17030c18c04daef76efcdc362a2709121921186f3bf39ba37b5ddf331aa9b20e5b9626e0220772a62a40f79a778ad24ada5d9be81b4b304a92caeb1405c1ebd
3789529ec1b328e9ba3d518e2c2917274bd051db6b35979b1ef271daf6c670a685af710a51977ae6c32c84ab215f099bf6a716b3a9f259345bb9616e11d4e19a
c2fa7dce60a70fa442aa2d2c239b1ae65596022cd192acfecb4d70eb45196033fd35b458598364f8d7b4003fbaa125e331f15539d8a515ed3bfb98b5523e5144
0ca2e0088dd844ec6308bf4e55b027a012ae264c47d00f708fa6bd6d5eb9cd392bbaf2ed95c1d975ccd20867ed5697685ec9166eeab8d0c13c95d403db2a7537
c69ddf1453f217644a398dff67a6e8fd046e0a56021d011f2e720546ba5edb1e172ae2d085d288fa7d018383e91d902d70170baf21a9e03ad9fc17e450ffb735
677998b286039fdaa7211214f623150942f6a02d99ec3b85593ddbbb2c4b96313219555257a656ed1139246ca87be0aadedb3d1441aa9b6e92b501833b997fee
735641a3500f39e57a737a48b1f7da1af8a7271f5bcc6094db87cd4093fbbf50b16257b5f4863cdf7bcb86e817b331ab915705082b6d05adacec5f5385736eb5
b663cd59bcdccc958328ce5b0c8bc54094c27d0fd27f60ffa3c267f69709bda10ef93ef456043f346866903690d597ece0817483b48b23189ceca24d26cdcaba
361b9db4d7f2cdfa8227dd42ee09676bcdce12ef733abb18ce5c714e2d5ea4b3330f3bbeb66b0b5d0d913d59a2b034ce0f322630e647adf2af4e7c740f02bd05
f7fb13a6a44926f84d4960183d07a60ea0f8ad4443baf117000000ffff0300504b0304140006000800000021000dd1909fb60000001b01000027000000746865
6d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e435
0d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452
282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173
d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c02000013000000000000000000
00000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000
00000000002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001402
00007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100266c541b9a060000521b0000160000000000
0000000000000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700
0000000000000000000000009f0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009a0a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 3;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 4;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 6;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 7;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 9;\lsdpriority39 \lsdlocked0 toc 1;
\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;\lsdpriority39 \lsdlocked0 toc 8;
\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f0000000000000000000000008034
0206bbd9ca01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}